3

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

var sftp = new Sftp(Host, UserName, Password);
sftp.Connect();
sftp.Get(sourcePath+"/*.*." + name + "*", destinationPath);
4

2 に答える 2

5

SharpSsh はそれを許可しません。これはデッド プロジェクトです。使用しないでください。

とにかく、コードを見て、 を使用してファイルのタイムスタンプを取得する可能性を追加することがどれほど難しいかを評価しましたSftp.GetFileList(ライブラリはオープンソースであるため)。

次のことを行う必要があります。

  • タイムスタンプ フィールドをChannelSftp.LsEntry
  • SSH_FXP_NAMEパケットからのタイムスタンプの解析をChannelSftp.lsメソッドに追加します
  • Sftp.GetFileListファイル名だけでなく、タイムスタンプ (およびその他のファイル メタデータ) も返すように変更 (または代替を追加) します。

または、 WinSCP .NET アセンブリを使用できます。そのSession.GetFilesメソッドファイル マスクで使用できます。たとえば、ファイル マスク*>7Dは、先週変更されたすべてのファイルを選択します

(私は WinSCP の作者です)

于 2014-08-28T13:09:05.363 に答える