根据从 SFTP 修改的日期下载文件
本文关键字:日期 下载 文件 修改 SFTP | 更新日期: 2023-09-27 18:19:38
有没有办法从SFTP服务器获取应该基于修改日期的文件使用Tamir.SharpSsh?目前我正在按文件名下载文件,但我的要求是按修改日期下载。
var sftp = new Sftp(Host, UserName, Password);
sftp.Connect();
sftp.Get(sourcePath+"/*.*." + name + "*", destinationPath);
SharpSsh不允许这样做。这是一个死项目,不要使用它。
无论如何,我查看了代码以评估使用Sftp.GetFileList
检索文件时间戳的可能性有多困难(因为该库是开源的(。
您必须:
- 向
ChannelSftp.LsEntry
添加时间戳字段 - 将
SSH_FXP_NAME
数据包中的解析时间戳添加到ChannelSftp.ls
方法 - 修改(或添加替代项(
Sftp.GetFileList
,不仅返回文件名,还返回时间戳(和其他文件元数据(。
或者,您可以使用 WinSCP .NET 程序集。可以将其 Session.GetFiles
方法与文件掩码一起使用。例如,文件掩码*>7D
选择上周修改的所有文件。
(我是WinSCP的作者(
SFTP 协议不允许您为操作指定文件掩码。无论如何,您传递的掩码的处理都是在客户端完成的。因此,您只能列出所有文件,然后遍历列表并根据某些条件选择所需的文件。