我的 FTP 服务器中有一个程序来生成文件,这可能需要 3-5 分钟才能完成,而且我知道我的程序创建的文件的名称。现在,一旦我在服务器中启动该程序,我就会继续检查,直到创建文件。创建后,我将使用下面的批处理脚本将文件 ftp 到我的本地桌面。
@ftp -i -s:"%~f0"&GOTO:EOF
open 10.100.16.111
username
password
lcd c:\
cd root/output_folder
binary
mget "*partial_file_name*" REM mget using wildcard search
disconnect
bye
这个脚本对我来说效果很好。但问题是,我需要修改这个脚本,脚本应该继续运行,直到生成文件。因为我不知道文件创建何时完成。因此,如果有人帮助/指导我制作一个循环脚本,该脚本将等到文件创建完成并通过 FTP 下载相同的文件,那就太好了。
最佳答案
通过此编辑,您可以在命令行上启动带有文件名的批处理文件,如下所示:
ftpscript.bat "filename.ext"
请注意,您的 lcd 使用 c:\
,这是 Windows 更高版本中的受限位置。
@echo off
>file.tmp echo open 10.100.16.111
>>file.tmp echo username
>>file.tmp echo password
>>file.tmp echo lcd c:\
>>file.tmp echo cd root/output_folder
>>file.tmp echo binary
>>file.tmp echo mget "%~1"
>>file.tmp echo disconnect
>>file.tmp echo bye
:retry
ftp -i -s:"file.tmp"
if not exist "%~1" timeout /t 300 & goto :retry
echo file has downloaded
del file.tmp
pause
关于file - 批处理脚本等待文件在 FTP 服务器上生成并下载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18371116/