Не выполняйте логику в сценарии FTP.
Вызовите сценарий ftp.txt из пакетного файла.В вашем скрипте ftp.txt просто сделайте GET для вашего файла.Если файл есть, он будет загружен в локальный каталог.В противном случае это не так.После вызова сценария FTP проверьте наличие файла в локальном каталоге, используя стандартные пакетные команды DOS, а именно:
@echo off
:FETCHFILE
ftp -s:ftp.txt
IF EXIST filetocheckfor.txt (
REM the file was there, so do something
) ELSE
echo Trying again...
REM ping "sleep" would go here
GOTO FETCHFILE
)
Если вы хотите встроить задержку в свои попытки, выполните «сон», выполнив командуфиктивный IP-адрес, как описано в этом сообщении: http://www.dullsharpness.com/2010/06/14/elapsed-timer-using-pure-ms-dos/