Windowsのバッチファイルで、FTPコマンドを使用してFTP接続とファイルの取得・転送(ダウンロード・アップロード)する場合、FTPコマンドのテキストファイルを用意するという少し変わったやり方になります。
実際にやってみました。
なお、今回のバージョンは以下です。
- Windows 7 Professional SP1(64bit)
FTPコマンドのバッチファイル
FTPコマンドの主なオプションは、以下のようです。
- 「-i」…対話的なメッセージ表示を無効にする。
- 「-s:filename」…FTPコマンドを記述したテキストファイルを指定する。FTPの開始後に自動実行される。
で、実際のバッチファイルは以下のようになります(「REM」はコメント行です)。
コマンドプロンプトを終了すると、何が実行されたかわかりにくいので、「cmd」で終了しないようにしています。
REM FTP接続 FTP -i -s:ftp.txt REM コマンドプロンプトを終了しない cmd
FTPコマンドを記述したテキストファイル
続いて、主なFTPコマンドは、以下のようです。
- 「open」…FTPサーバーへ接続する
- 「prompt」…対話モードオン/オフ切り替え
- 「cd」…ホスト側のディレクトリを移動する
- 「lcd」…ローカル側のディレクトリを移動する
- 「get」…1つのファイルを取得する
- 「mget」…複数のファイルを取得する
- 「put」…1つのファイルを転送する
- 「mput」…複数のファイルを転送する
- 「disconnect」…FTP接続を終了する
- 「bye」/「quit」…FTPコマンドを終了する
オプション「-s:filename」で指定するFTPコマンドを記述したテキストファイルは、以下のようになります。
open [サーバー名] [ポート番号] [ユーザーID] [パスワード] lcd C:\test mget /backup/*.tar.gz cd /log mput C:\log\*.log quit
まずは、openコマンドでFTPサーバーへ接続し、その次にユーザーID、パスワードを記述しておけば、そのアカウントでログインできます。
ファイルのダウンロード先、アップロード先は、get/mget、put/mputコマンドで指定することができないので、一旦cd/lcdコマンドで目的のディレクトリに移動してから、コマンドを実行する必要があります。
以上です。
コメント