私は非常に基本的なスケジュールされた FTP プログラムに取り組んでいますが、最終更新日が変更されていない場合にわざわざファイルを転送したくないので、最後に保存された変更時刻と現在のダウンロード前の変更時刻を比較する必要があります。 . FtpWebRequest/FtpWebResponse を使用して接続をセットアップしています。
FTP で IO.FileInfo を使用する方法はありますか? そうでない場合、変更日を取得できるクラスはありますか?
ありがとう
サーバーにディレクトリリストを要求し、それを解析して各ファイルの日付を見つける必要があります...次に、ローカルファイルの日付と比較します。FTPは「標準」ですが、ディレクトリリストの形式を指定していないため、当然、各ベンダーには独自のスタイルがあり、複数のサイトに接続することを計画している場合は面倒です。
COMインターフェイスもサポートするRobo-FTPのようなスクリプト可能なFTPクライアントを使用する方が、時間を有効に活用できる可能性があります。新しいファイルまたは更新されたファイルのみを1日1回ダウンロードするためのスクリプト:
:top
CRON "@daily"
WORKINGDIR "c:\local\download\folder"
FTPLOGON "ftp.mydomain.com" /user="userID" /pw="secret"
RCVFILE "*" /ifnewer
FTPLOGOFF
GOTO top
これは、1日に1回繰り返される無限のループであることに気付くでしょう。これをWindowsサービスとして実行するように設定すると、コンピューターが再起動されるたびに自動的に起動し、完了です。