问题描述
我们有一个供应商通过 SFTP 服务器向我们发送文件。我需要将这些下载到 Windows 服务器。我正在使用一个简单的 WinSCP 脚本连接到服务器,删除旧文件,然后下载最新文件。
无论出于何种原因,供应商不断发送带有更新时间戳的旧文件。所以我使用了一个 WinSCP 命令,如:
rm *<3D
这会删除时间戳超过 3 天的文件,但他们向我发送了超过一个月但带有更新时间戳的文件。因此,他们发送了数百个文件而不是少数文件。我需要将六个不同区域的这些文件下载到不同的服务器。连接很慢,我需要每小时执行一次。当有数百个文件时,有时连接超时显示文件夹,或者我没有及时下载所有文件。
我一直要求供应商解决问题,停止向我发送带有新时间戳的旧报告,但几个月后,他们仍然没有解决问题。
我可以创建一个 Powershell 或 VBS 脚本来连接,按文件名解析文件以确定日期,将其与服务器日期进行比较,然后在我尝试下载该文件夹中的所有内容之前使用它来删除文件吗?
例如,我有一个名为“agentScheduleSummary_2_0527210600.txt”的文件。
末尾的数字串是一个 10 位数字,每个数字有两位:
- MM = 月
- DD = 天
- YY = 年
- HH = 小时
- MI = 分钟
在纯粹的 Powershell 或 VBS 脚本中,我可以解析文件名以获取日期,但是我如何将其与 WinSCP 脚本结合使用以根据文件名删除超过 3 天的文件,然后仅下载过去的文件3 天的文件(即使如此,最好进行同步或“get * -resume -neweronly
”以仅下载我尚未在本地下载的绝对最新文件?
谢谢!
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)