俺の開発研究所

Ruby on Rails、Linux、Windowsを中心にIT技術系の備忘録とか。よく忘れるので。

*

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

      2015/12/28

Windowsのバッチファイルで、FTPコマンドを使用してFTP接続とファイルの取得・転送(ダウンロード・アップロード)する場合、FTPコマンドのテキストファイルを用意するという少し変わったやり方になります。

実際にやってみました。

なお、今回のバージョンは以下です。

  • Windows 7 Professional SP1(64bit)

スポンサード リンク

FTPコマンドのバッチファイル

FTPコマンドの主なオプションは、以下のようです。

  • 「-i」…対話的なメッセージ表示を無効にする。
  • 「-s:filename」…FTPコマンドを記述したテキストファイルを指定する。FTPの開始後に自動実行される。

で、実際のバッチファイルは以下のようになります(「REM」はコメント行です)。

コマンドプロンプトを終了すると、何が実行されたかわかりにくいので、「cmd」で終了しないようにしています。

FTPコマンドを記述したテキストファイル

続いて、主なFTPコマンドは、以下のようです。

  • 「open」…FTPサーバーへ接続する
  • 「prompt」…対話モードオン/オフ切り替え
  • 「cd」…ホスト側のディレクトリを移動する
  • 「lcd」…ローカル側のディレクトリを移動する
  • 「get」…1つのファイルを取得する
  • 「mget」…複数のファイルを取得する
  • 「put」…1つのファイルを転送する
  • 「mput」…複数のファイルを転送する
  • 「disconnect」…FTP接続を終了する
  • 「bye」/「quit」…FTPコマンドを終了する

オプション「-s:filename」で指定するFTPコマンドを記述したテキストファイルは、以下のようになります。

まずは、openコマンドでFTPサーバーへ接続し、その次にユーザーID、パスワードを記述しておけば、そのアカウントでログインできます。

ファイルのダウンロード先、アップロード先は、get/mget、put/mputコマンドで指定することができないので、一旦cd/lcdコマンドで目的のディレクトリに移動してから、コマンドを実行する必要があります。

以上です。

参考サイト

@IT:Windows TIPS — Tips:スクリプトで使うftpコマンド
FTP: Windowsのバッチファイルを使用したFTPによるファイルアップロード方法は?
コマンドラインからftp接続するやり方

 - Windows