我在Windows机器上运行的WinSCP(版本5.9.5(Build 7441))中有以下脚本
# Establish the connection that was saved as MySFTPsite using GUI
open MySFTPsite
synchronize remote -filemask="*.CSV" "K:\extract\" "/sftp_uploads/"
我通过批处理文件调用它。
这样可以正常工作,除了它在提取文件夹中发送所有 .CSV文件。
还有另一个进程将文件一小时写入提取文件夹。
我想只在此提取文件夹中发送最新 .CSV文件。我该怎么办呢?
我上传的远程服务器在处理文件后删除文件..因此,同步将始终一遍又一遍地发送所有文件。
我不确定如何在脚本中格式化文件掩码或使用多个文件掩码(如果有这样的事情甚至可能)。
我不想使用PowerShell。
我希望尽可能简化并使用我拥有的脚本。
任何帮助都将不胜感激。
答案 0 :(得分:1)
没关系..我已经找到了答案
这里是
-filemask="*.CSV>2H
这会过滤最近2小时内修改过的文件。 应该看一下以下内容:
https://winscp.net/eng/docs/file_mask
我会把这个留给任何可能正在寻找的人 - 但看起来不够努力!
答案 1 :(得分:1)
put -latest "K:\extract\*.csv" "/sftp_uploads/"
虽然-filemask="*.CSV>2H
可能适合您,但如果不经常添加文件,则一般情况下它不是正确的解决方案。
有关所有可能性的讨论,请参阅Uploading the most recent file上的WinSCP文章。