公開日:10/24/2021 更新日:3/26/2022
バッチファイル内でFTPコマンドを実行するには、FTPコマンドだけが書かれたテキストファイルを別途用意する必要があります。頑張ればバッチファイルだけで記述できるようですが、面倒だしコードの可読性が下がるためお勧めしません。
用意するもの
test.bat
FTP -i -s:ftpcmd.txt
ftpcmd.txt
open ホスト名 ポート番号
ユーザ名
パスワード
何かしらのFTPコマンド
disconnect
bye
test.bat
pushd .
%~d0
cd %~p0
setlocal ENABLEDELAYEDEXPANSION
set /A ROOP_COUNT=10
set /A WAIT_TIME=5
set LOG_FILE=result.log
for /l %%i in (1,1,%ROOP_COUNT%) do (
ftp -s:ftpcmd.txt >>%LOG_FILE%
if %%i neq %ROOP_COUNT% (
echo %WAIT_TIME% 秒待ちます >>%LOG_FILE%
TIMEOUT /T %WAIT_TIME%
)
)
ftpcmd.txt
open localhost 21
ftptest
ftptest
put test.txt
disconnect
bye