file - 批处理脚本等待文件在 FTP 服务器上生成并下载

标签 file batch-file ftp sftp

我的 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/

相关文章:

c - 我试图只从文件中读取前 3 个字符 - c

file - 如何在 Rust 中异步计算硬盘上文件的校验和?

php - 生成大型虚拟文件的算法

batch-file - Subversion 客户端 Hook 不显示回显

java - 用批量问题替换程序

java - 如何使用 FTPClient 设置 FTP 的工作目录

java - 有没有办法让需要文件参数的命令行程序使用标准输入?

windows - 使用批处理脚本查找和删除驱动器上每个文件夹中的 desktop.ini 文件

c# - 系统.Net.WebException : The remote server returned an error: (530) Not logged in

netbeans - phpStorm 中远程服务器的单个文件下载功能?