按文件名删除文件以确定 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 (将#修改为@)