WinSCP SFTP - 从文件夹上传最新修改的 CSV 文件

WinSCP SFTP - Upload latest modified CSV file from folder

我在 WinSCP(版本 5.9.5(内部版本 7441))运行 windows 机器上有以下脚本

# Establish the connection that was saved as MySFTPsite using GUI 
open MySFTPsite
synchronize remote -filemask="*.CSV" "K:\extract\" "/sftp_uploads/"

我通过批处理文件调用它。

这工作正常,除了它发送 ALL 提取文件夹中的 .CSV 文件。

还有另一个进程每小时将一个文件写入提取文件夹。

我只想发送此提取文件夹中的 最新 .CSV 文件。请问我该怎么做?

我上传到的远程服务器在处理文件后删除文件。所以同步将始终一遍又一遍地发送所有文件。

我不确定如何在脚本中格式化文件掩码或使用多个文件掩码(如果有这样的事情甚至可能的话)。

我不想使用 PowerShell。

我想尽可能简单地使用我已有的脚本。

如有任何帮助,我们将不胜感激。

没关系..我找到答案了

这里是

-filemask="*.CSV>2H 

这会过滤最近 2 小时内修改过的文件。 应该仔细看看以下内容:

https://winscp.net/eng/docs/file_mask

我会把这个留给可能正在寻找但不够仔细的人!

使用-latest switch of put command:

put -latest "K:\extract\*.csv" "/sftp_uploads/"

虽然 -filemask="*.CSV>2H 可能适合您,但如果不经常添加文件,这通常不是正确的解决方案。

有关所有可能性的讨论,请参阅 Uploading the most recent file 上的 WinSCP 文章。