Windows で ftp を自動実行
備忘録。Windows 2003で検証。2000/XP でも昔やった記憶あり。たぶん同じ。
1)ftpコマンドを記載したファイルを作成
下記例。f.txt として保存
open 192.168.1.100 user user1 password1 lcd c:dataget20060603 bin get data/data.zip bye quit |
2)ftpコマンドでファイルを指定
ftp -n -s:f.txt
タスクスケジューラにでも登録すれば、定期的に実行も可能。
複数ファイルを一括指定したいときのオプション
mget を利用するなどして、
ftp -i -n -s:f.txt
と -i オプションを指定する。いちいちファイルの確認y/nが聞かれなくなる。
バッチなどでf.txtを別途自動作成させれば、もっと自由度があがる。
f.txt 作成・ftp実行まで実行するバッチの例
今日の日付の保存ディレクトリを作成しftp実行。ftp実行結果のログも保存。
mkftxt.bat
for /F “usebackq tokens=1,2,3,* delims=/ ” %%I in (`date/T`) do (set datehensu=%%I%%J%%K ) mkdir c:dataget%datehensu% echo open 192.168.1.100>f.txt echo user user1 password1>>f.txt echo lcd c:dataget%datehensu%>>f.txt echo bin>>f.txt echo mget data/*>>f.txt echo bye>>f.txt echo quit>>f.txt ftp -n -i -s:f.txt >> c:dataget%datehensu%.log |
bat バッチ処理ノウハウ(NT系)もご参照。
スクリプトの妙味は、自由度。