Обнаружение файловых атрибутов на FTP - PullRequest
1 голос
/ 21 марта 2011

Я работаю над очень простой запланированной программой FTP, но я не хочу беспокоиться о передаче файлов, если дата последнего изменения не изменилась, поэтому мне нужно сравнить последнее сохраненное время изменения с текущим временем измененияпредварительно загрузить.Я использую FtpWebRequest / FtpWebResponse для настройки соединения.

Есть ли способ использовать IO.FileInfo с FTP?Если нет, есть ли класс, который позволит мне получить дату изменения?

Спасибо

1 Ответ

2 голосов
/ 07 апреля 2011

Вам потребуется запросить список каталогов с сервера, а затем проанализировать его, чтобы найти дату в каждом файле ... затем сравнить его с датами в ваших локальных файлах. Несмотря на то, что FTP является «стандартным», он не определяет формат списка каталогов, поэтому, естественно, что у каждого поставщика есть свой собственный стиль, который может быть проблемой, если вы планируете подключаться к нескольким сайтам.

Возможно, лучше использовать ваше время для использования FTP-клиента с поддержкой скриптов, такого как Robo-FTP, который также поддерживает интерфейс COM. Скрипт для скачивания только новых или обновленных файлов один раз в день:

:top
CRON "@daily"
WORKINGDIR "c:\local\download\folder"
FTPLOGON "ftp.mydomain.com" /user="userID" /pw="secret"
RCVFILE "*" /ifnewer
FTPLOGOFF
GOTO top

Вы заметите, что это бесконечный цикл с одной итерацией в день. Вы настроили его на запуск в качестве службы Windows, чтобы он запускался автоматически при каждой перезагрузке компьютера, и на этом все, все готово.

...