【バッチファイル】FTPサーバーからファイルを受信(取得)する

バッチファイルから
 ・FTPサーバーからファイルを受信(取得)
できます!

PR

前提

バッチファイルからファイルを受信(取得)するために、バッチファイル内で以下の3つを実施します。

バッチファイル内で実施すること
  • FTPコマンドファイル作成
    ・各種FTPコマンドを記載したファイルを作成します。

  • FTPコマンドファイル実行
    ・作成したFTPコマンドファイルを実行します。

  • FTPコマンドファイル削除
    ・作成したFTPコマンドファイルを削除します。
PR

コード

ここでは例として 
 ・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

以下を指定します(4~16行目)。
※環境に合わせて変更してください。
・FTPサーバー名
・ログインユーザー名
・パスワード
・FTPコマンドファイル
・送信ファイル
・FTPサーバー側のフォルダ
・ローカル側のフォルダ(保存先)

「FTPコマンドファイル」を作成しています(30~42行目)。
※FTPコマンドのgetにより、ファイルを受信(取得)します。

「FTPコマンドファイル」を実行しています(47行目)。
※ftpコマンドの「-i」オプションで、「インタラクティブモード」を「オフ」にしています(確認メッセージの無効化)。
※ftpコマンドの「-s」オプションで、「FTPコマンドファイル」を指定します。

「FTPコマンドファイル」を削除しています(52行目)。


上記で作成される「FTPコマンドファイル」は以下になります。
※上記に記載している通り、このファイルは実行後に削除しています。

open ftpServerName
loginUser
password
cd /temp/
BINARY
get test01.txt C:\Users\user\Desktop\temp\test01.txt
bye
PR

実行結果

FTPサーバーからファイルを受信(取得)できました。
※FTPサーバー上のファイル「test01.txt」をローカルの「temp」フォルダへ受信(取得)できました。

実行結果①
実行結果①
実行結果②
実行結果②
PR

参考①

FTPサーバーへファイルを送信することもできます。

詳細は以下の記事をご確認ください。

PR

参考②

上記で使用した以下の詳細は、公式サイトをご確認ください。

●ftpコマンド


●FTPのopenコマンド(FTPへ接続するコマンド)


●FTPのgetコマンド(ファイルを受信(取得)するコマンド)


●FTPのbyeコマンド(FTPを切断するコマンド)