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で使えるコマンドが記述されているファイル名を指定し、
記述されたコマンドが自動的に実行される
今週の月、火曜日と休暇を頂いたので
昨日調子に乗ってバッティングをしまくったら筋肉痛で今日まともに動けません。
やっぱりエンジニアたるもの日頃から運動して基礎体力をつけないとダメですね。