batでサーバーからFTPでファイルをダウンロードする

職場の上司がやってた方法で、実装方法が唸ったので復習します。
方法としては2つのbatファイルを利用します。
1つのbatファイルでftpコマンドを記述したファイルを生成して、
もう1つのbatファイルで実行します。

exec.bat

@echo off
set HOST=サーバー名
set SCRIPT_FILE=exec.ftp

rem ftpコマンドのファイルを生成
call create_ftp_script.bat %HOST%

rem ftpコマンドを実行
ftp -n -s:%SCRIPT_FILE%
del %SCRIPT_FILE%

pause

create_ftp_script.bat

@echo off
set HOST=%1
set SCRIPT_FILE=exec.ftp
set FTPUSER=ユーザー名
set FTPPASSWD=パスワード
set GET_FILE=ダウンロードするファイル名
set REMOTE_DIR=ダウンロードするファイル格納ディレクトリ

rem FTPスクリプトファイル作成開始
echo open %HOST% > %SCRIPT_FILE%
echo user>> %SCRIPT_FILE%
echo %FTPUSER%>> %SCRIPT_FILE%
echo %FTPPASSWD%>> %SCRIPT_FILE%
echo prompt>> %SCRIPT_FILE%
echo cd %REMOTE_DIR%>> %SCRIPT_FILE%
echo get %GET_FILE%>> %SCRIPT_FILE%
echo bye>> %SCRIPT_FILE%

ダウンロードする対象が複数の場合は「get」を「mget」にして、
アップロードする場合は「put」か「mput」に変更したらOKです。


ftpコマンドのオプション意味はこんな感じです。

 -n
 初期接続時に自動ログインしないようにする

 -s:ファイル名
 FTPで使えるコマンドが記述されているファイル名を指定し、
 記述されたコマンドが自動的に実行される


コマンドプロンプトを使ってみよう! -ネットワーク-

今週の月、火曜日と休暇を頂いたので
昨日調子に乗ってバッティングをしまくったら筋肉痛で今日まともに動けません。
やっぱりエンジニアたるもの日頃から運動して基礎体力をつけないとダメですね。