通过SFTP自动检索特定的文件

如何从通过SFTP连接的远程服务器确定哪个文件是最新的? 我的目标是通过SFTP每天检索一个特定的文件。 我将遵循的步骤是:

  1. 通过SFTP连接到服务器

  2. 检索我需要的文件的名称< – 需要此步骤的帮助

  3. 下载它

我可以弄清楚如何通过脚本连接通过SFTP,但我不知道最好的方式去确定哪个文件下载。

例如,服务器上有许多文件名称如下所示:

ABC-Alpha-Sun-May-12-abc123.xml.gz ABC-Beta-Sun-May-12-abc123.xml.gz 

我只想检索当天的Alpha文件。 我假设我会检查“May-12”的名称,以知道这是否是今天的文件? 或者,也许我应该检查文件创builddate或修改date?

我将如何检索文件名? 也许我检索所有的文件的名称,然后sorting吗?

你会推荐什么作为实现我的目标的最佳方式?

用WinSCP,这很容易。 您可以在WinSCP脚本中使用get命令的-latest开关 。

此外,如果您的首选脚本语言是PowerShell,则还可以考虑使用WinSCP .NET程序集及其Session.ListDirectory方法 。

在WinSCP站点上有一个例子,用于下载最新文件的所有这些方法。

(我是WinSCP的作者)