WindowsバッチファイルとFTPコマンドファイルでFTP接続とファイル取得・転送する方法

Windows Windows
この記事は約3分で読めます。

※当ブログではアフィリエイト広告を利用しています。

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コマンドで目的のディレクトリに移動してから、コマンドを実行する必要があります。

以上です。

参考サイト

@IT:Windows TIPS — Tips:スクリプトで使うftpコマンド
コマンドラインからftp接続するやり方

コメント

タイトルとURLをコピーしました