Попытка загрузить только те файлы, которые были загружены сегодня - PullRequest
0 голосов
/ 25 января 2019

Так что каждый день я загружаю несколько файлов .zip с SFTP-сервера.Также каждый день наш клиент загружает новые файлы .zip на этот SFTP-сервер, но не желает удалять старые файлы.

Итак, я загружаю те же файлы за последние несколько дней + файлы, которые были загружены сегодня.Я много пробовал, но безуспешно.

Это мой короткий сценарий прямо сейчас (который загружает много файлов и занимает мое место на диске):

open sftp://user:password@sftp-server.com/ -hostkey=*
synchronize local D:/Test\Download /sftp-server/PDF-files/

Я не смог найти вариант для загрузки файлов по дате,так что, может быть, вы можете помочь мне в дальнейшем.Также важно, что файлы .zip имеют имена:

"name_clientname_YYYYMMDD_NumberOfUploads.zip"

Я пытался добавить

*%TIMESTAMP#yyyymmdd%*.zip

в конце пути к файлам, но это не сработало.

1 Ответ

0 голосов
/ 06 февраля 2019

Не используйте синхронизировать, если вы удаляете старые файлы из локальной копии. Вместо этого выберите файлы на основе метки времени:

С сайта winscp: Как передать только новые / измененные файлы?

Соответствующий синтаксис get (близкий к тому, что вы пытались) выглядит примерно так:

open sftp://user:password@sftp-server.com/ -hostkey=*
get -filemask="*.zip>today" /remote-folder/* D:\local-folder\

, где ограничение маски файла соответствует указанному в: https://winscp.net/eng/docs/file_mask#size_time

...