我有一个批处理文件,可以从我的 Web 服务器 FTP CSV 文件。
我只需要下载最新的 CSV 文件。
我怎么做?
这是我到目前为止:
open 44.44.44.444
username
password
CD /Client/ABCCompany/
get *.csv
quit
close()
谢谢。
最佳答案
没有简单的方法可以使用 ftp.exe
选择最新的文件。 .
DATE
环境变量,尽管它有其警告。更可靠(也更复杂)的方法是使用 wmic os get LocalDateTime
.见 How do I get current date/time on the Windows command line in a suitable format for usage in a file/folder name?
ftp.exe
与 ls
命令重定向到文件 ftp.exe
跑。 -latest
get
command的开关:winscp.com /command ^
"open ftp://username:password@ftp.example.com/" ^
"cd /remote/path" ^
"get -latest *.csv" ^
"exit"
另请参阅 downloading the most recent file with WinSCP 的指南.winscp.com /command ^
"open ftp://username:password@ftp.example.com/" ^
"cd /remote/path" ^
"get *.csv>=1D" ^
"exit"
或自某个时间点以来创建的文件,例如要下载自午夜以来创建的文件,请使用 today
keyword :winscp.com /command ^
"open ftp://username:password@ftp.example.com/" ^
"cd /remote/path" ^
"get *.csv>=today" ^
"exit"
对于 today
关键字,请确保您拥有最新版本的 WinSCP。DATE
相比,您可以更轻松地下载文件名中带有时间戳的文件。或 wmic os get LocalDateTime
(如上图所示)。使用 %TIMESTAMP%
句法:winscp.com /command ^
"open ftp://username:password@ftp.example.com/" ^
"cd /remote/path" ^
"get %%TIMESTAMP#yyyy-mm-dd%%.txt" ^
"exit"
(我是 WinSCP 的作者)关于batch-file - 从FTP服务器下载最新文件的批处理文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12031163/