Windows標準のftp.exeの引数にファイルを指定してアップロード、ダウンロード
Windows標準のftp.exeは標準では対話的なプログラムであり、ftpサイトにログインして以降のファイル操作はそれぞれコマンドを打って行う。また、ftpコマンドを順に書いたスクリプトを引数に指定することで非対話的なプログラムとして使うことができる。このスクリプトファイルを編集することでいちいちコマンドを入力する手間が省ける。しかし、いちいちスクリプトファイルを編集しなければならない手間はなくならないわけである。そこで以下のようなバッチファイルからftp.exeを呼び出すことで、あるファイルをアップロードまたはダウンロードするのに必要なパラメータをあらかじめ引数としてスクリプト編集バッチプログラムに渡し、ファイル操作をしてみようという試みである。
rem Useage: rem ftp_script.bat HOST ACCOUNT PASSWORD DIRNAME FILENAME FILETYPE FUNCTION rem -------------------------- set groval parametor set HOST=%1 set ACCOUNT=%2 set PASSWORD=%3 set DIRNAME=%4 set FILENAME=%5 set FILETYPE=%6 set FUNCTION=%7 rem -------------------------- set local parametor set SCRIPTFILE=ftp_script.txt rem -------------------------- make put script echo open %HOST%>> %SCRIPTFILE% echo %ACCOUNT%>> %SCRIPTFILE% echo %PASSWORD%>> %SCRIPTFILE% echo cd %DIRNAME%>> %SCRIPTFILE% echo %FILETYPE%>> %SCRIPTFILE% echo %FUNCTION% %FILENAME%>> %SCRIPTFILE% echo bye>> %SCRIPTFILE% rem -------------------------- put a memo file ftp -s:%SCRIPTFILE% del %SCRIPTFILE%
ftp接続を行い、ネットワーク上のディスクからメモファイルをコピー
ログイン時にホームディレクトリがカレントフォルダになるようなサーバーにおいて、~/memo/index.htmlがメモファイルだとすれば、以下のようなバッチファイルを作ることで、index.htmlをカレントフォルダにコピーできます。
rem --------------------------- set groval parametor set R=za.toypark.in set N=za set P=password set D=./memo set M=index.html rem --------------------------- set local parametor for get set C=get set F=ftp_get.txt rem --------------------------- make get script echo open %R%> %F% echo %N%>> %F% echo %P%>> %F% echo ascii>> %F% echo %C% %D%/%M%>> %F% echo bye>> %F% rem --------------------------- get a memo file ftp -s:%F% del %F% rem --------------------------- make a memo.tmp C:\temp_prog\xechov20\XECHO.COM $D$T$Lbr$G>> index.tmp rem --------------------------- add a memo.tmp to memo file copy /B index.html+index.tmp index.html rem --------------------------- set local parametor for put set C=put set F=ftp_put.txt rem --------------------------- make put script echo open %R%> %F% echo %N%>> %F% echo %P%>> %F% echo cd %D%>> %F% echo ascii>> %F% echo %C% %M%>> %F% echo bye>> %F% rem --------------------------- put a memo file ftp -s:%F% del %F% rem --------------------------- irase tempraly files del index.html del index.tmp exit
XECHO2.0
XECHO2.0 http://www.vector.co.jp/soft/dos/util/se028965.html