尝试仅下载今天上传的文件

时间:2019-01-25 08:08:50

标签: scripting winscp

因此,每天我都会从SFTP服务器下载多个.zip文件。同样,我们的客户端每天都将新的.zip文件上传到此SFTP服务器,但不愿意删除旧文件。

因此,我下载了最近几天的相同文件+今天上传的文件。 我尝试了很多,但没有成功。

这是我现在的简短脚本(下载许多文件的方式并占用了我的存储空间):

open sftp://user:password@sftp-server.com/ -hostkey=*
synchronize local D:/Test\Download /sftp-server/PDF-files/

我找不到按日期下载文件的选项,因此也许您可以进一步帮助我。 同样重要的是,.zip文件的名称为:

"name_clientname_YYYYMMDD_NumberOfUploads.zip"

我尝试添加

*%TIMESTAMP#yyyymmdd%*.zip

位于文件路径的末尾,但是没有解决。

1 个答案:

答案 0 :(得分:1)

如果要从本地副本中删除旧文件,请不要使用同步。而是根据时间戳选择文件:

从winscp站点:How do I transfer new/modified files only?

适当的get语法(接近您尝试的语法)似乎像这样:

open sftp://user:password@sftp-server.com/ -hostkey=*
get -filemask="*.zip>today" /remote-folder/* D:\local-folder\

其中文件掩码约束在以下位置指定:https://winscp.net/eng/docs/file_mask#size_time

相关问题