web-dev-qa-db-ja.com

psftpを使用してディレクトリから最新のファイルを取得します

サーバー上のディレクトリには、プロセスによって生成された多くのファイルがあります。 psftpを使用して生成された最新のファイル(日付の降順)を取得するにはどうすればよいですか?

1
user661981

psftpにはそのような機能はありません。

あなたがしなければならないでしょう:

  • psftpコマンドでlsを1回実行し、ファイルに出力します
  • スクリプト言語を使用して出力を解析し、最新のファイルを見つけます。
  • 2回目のpsftp実行のために、選択したファイルのアドホックダウンロードスクリプトを生成します。

代わりに、 WinSCPスクリプト とその get -latestコマンド を代わりに使用できます。

バッチファイルの例(.bat):

winscp.com /log=download.log /ini=nul /command ^
    "open sftp://username:[email protected] -hostkey=""...""" ^
    "get -latest /remote/path/* C:\local\path\" ^
    "exit"

PuTTY PSFTPスクリプトをWinSCPスクリプトに変換する のガイドがあります。

または、さらに簡単に、 WinSCP GUIがスクリプト/バッチファイルを生成する にすることができます。手動で行う必要があるのは、-latestスイッチを追加することだけです。

(私はWinSCPの作者です)

3
Martin Prikryl