Tamir.SharpSsh を使用して、変更された日付に基づくファイルを SFTP サーバーから取得する方法はありますか? 現在、ファイル名でファイルをダウンロードしていますが、私の要件は更新日です。
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 の作者です)