バッチファイルから
・FTPサーバーからファイルを受信(取得)
できます!
前提
バッチファイルからファイルを受信(取得)するために、バッチファイル内で以下の3つを実施します。
コード
ここでは例として
・FTPサーバー上のファイル「test01.txt」をローカルの「temp」フォルダへ
・FTPコマンドを使用して、FTPサーバーから受信(取得)
します。
@echo off
rem FTPサーバー名
set ftpServerName=ftpServerName
rem ユーザー名
set userName=loginUser
rem パスワード
set password=password
rem FTPコマンドファイル
set ftpCmdFile=C:\Users\user\Desktop\ftp_cmd.txt
rem 受信ファイル
set receiveFile=test01.txt
rem FTPサーバー側のフォルダ
set serverFolderPath=/temp/
rem ローカル側のフォルダ(保存先)
set localFolderPath=C:\Users\user\Desktop\temp\
rem FTPコマンドファイルが存在したら削除
if exist %ftpCmdFile% (
rem ファイルを削除
del /f %ftpCmdFile%
echo FTPコマンドファイルを削除しました。
echo.
)
rem -----------------------------------------
rem FTPコマンドファイル作成
rem -----------------------------------------
rem FTPサーバー
echo open %ftpServerName%>> %ftpCmdFile%
rem ユーザー名
echo %userName%>> %ftpCmdFile%
rem パスワード
echo %password%>> %ftpCmdFile%
rem 転送モード
echo BINARY>> %ftpCmdFile%
rem FTPサーバー側のフォルダ移動
echo cd %serverFolderPath%>> %ftpCmdFile%
rem 受信コマンド
echo get %receiveFile% %localFolderPath%\%receiveFile%>> %ftpCmdFile%
rem FTPコマンドファイルClose
echo bye>> %ftpCmdFile%
rem -----------------------------------------
rem FTPコマンド実行
rem -----------------------------------------
ftp -i -s:%ftpCmdFile%
rem -----------------------------------------
rem FTPコマンドファイル削除
rem -----------------------------------------
del /f %ftpCmdFile%
echo.
pause
exit
上記で作成される「FTPコマンドファイル」は以下になります。
※上記に記載している通り、このファイルは実行後に削除しています。
open ftpServerName
loginUser
password
cd /temp/
BINARY
get test01.txt C:\Users\user\Desktop\temp\test01.txt
bye
実行結果
FTPサーバーからファイルを受信(取得)できました。
※FTPサーバー上のファイル「test01.txt」をローカルの「temp」フォルダへ受信(取得)できました。
参考①
FTPサーバーへファイルを送信することもできます。
詳細は以下の記事をご確認ください。
参考②
上記で使用した以下の詳細は、公式サイトをご確認ください。
●ftpコマンド
●FTPのopenコマンド(FTPへ接続するコマンド)
●FTPのgetコマンド(ファイルを受信(取得)するコマンド)
●FTPのbyeコマンド(FTPを切断するコマンド)