如何解决按文件名删除文件以确定 WinSCP
我们有一个供应商通过 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 举报,一经查实,本站将立刻删除。