Синхронизировать маску файла в WinSCP - объединить фильтр файлов с исключением подкаталогов - PullRequest
1 голос
/ 22 мая 2019

Я пишу скрипт для синхронизации двух папок. Я выбираю изображения из локальной папки и синхронизирую их по FTP.

Я должен применить ТРИ фильтра:

  1. только файлы изображений (РАБОТАЕТ: *.jpg; *.png...)

  2. только новые файлы (РАБОТАЕТ: *.png>=%2019-04-10#yyyy-mm-dd%)

  3. Я не хочу копировать папки (не работает)

Код, который я использую, работает, но он также копирует подпапки. В интернете говорят, что я должен использовать "|*/", чтобы пропустить подпапки. Но если я использую это в своей файловой маске, она копирует ВСЕ, игнорируя другие мои фильтры.

Это код, который я использую:

Здесь я подключаюсь к SFTP-серверу, используя пароль

open sftp://USERNAME:PASSWORD@myFTP.com -hostkey="ssh-rsa 4096 JvxxxxxxxxxxxxxxxxxxVx8/5VSw="
option batch
option transfer binary

Здесь я синхронизирую:

synchronize remote -filemask="*.png>=%2019-04-10#yyyy-mm-dd%; *.jpeg>=%2019-04-10#yyyy-mm-dd%; *.jpg>=%2019-04-10#yyyy-mm-dd%;" H:\MyImageFolder /test/DestinationFolder/ -nopreservetime 

Я пробовал это:

synchronize remote -filemask="*.png>=%2019-04-10#yyyy-mm-dd%; *.jpeg>=%2019-04-10#yyyy-mm-dd%; *.jpg>=%2019-04-10#yyyy-mm-dd%; "|*/" " H:\MyImageFolder /test/DestinationFolder/ -nopreservetime 

Но это не работает или говорит, что маска файла имеет неверное количество параметров.

Как я могу использовать свой фильтр изображений (по расширению и дате) и исключить подпапки из синхронизации?

Я нашел другие вопросы о переполнении, но ни один не соответствует моей конкретной проблеме.

1 Ответ

0 голосов
/ 22 мая 2019
  1. %2019-04-10#yyyy-mm-dd% не так, это должно быть просто 2019-04-10.
  2. У вас уже есть двойные кавычки вокруг маски файла, поэтому удалите их из "|*/".

См. Документацию для Маски файлов WinSCP .


Это должно делать то, что вы хотите:

-filemask="*.png>=2019-04-10; *.jpeg>=2019-04-10; *.jpg>=2019-04-10 | */"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...