Исключить одно расширение файла при запуске синхронизации из командной строки WinSCP - PullRequest
2 голосов
/ 03 мая 2020

Я всегда использовал WinSCP для синхронизации своего локального хоста и сервера, пока я работаю над проектом, и он всегда работал должным образом.

Это файл .lnk, который я всегда использовал

"C:\Program Files (x86)\WinSCP\WinSCP.exe" "Typed" /defaults /keepuptodate // "C:\Xampp\htdocs\my\folder\path" /my/server/path

Теперь я должен исключить файлы .txt, потому что WinSCP вызывает удаление журналов на моем хосте (они обновляются на сервере, но остаются пустыми на localhost, поэтому функция syn c удаляет их, когда я открываю файл).

Читая документацию, я нашел это решение:

"C:\Program Files (x86)\WinSCP\WinSCP.exe" "Typed" /defaults /keepuptodate // "C:\Xampp\htdocs\my\folder\path" /my/server/path /parameter // "-filemask=|*.txt"

Проблема в том, что теперь каждый раз, когда я открываю ссылку, я получаю это сообщение:

WinSCP error

Этого раньше никогда не было:

  • Если я нажимаю «да», выполняется полная синхронизация каждого файла, даже если они уже идентичны
  • Если я нажимаю «нет», это ничего не синхронизирует, и если я изменяю файл, он начинает синхронизировать всю папку

Что я делаю неправильно

1 Ответ

2 голосов
/ 03 мая 2020

Нет переключателя командной строки -filemask.

Вам необходимо использовать необработанные параметры передачи IncludeFileMask:

/rawtransfersettings IncludeFileMask="|*.txt"

Обратите внимание, что вы используете // (две косые черты) . Переключатели не работают после //. Так что либо поставьте /rawtransfersettings перед //. Или удалите //, если это действительно не нужно. Это необходимо, если ваш путь выглядит как переключатель (/path), но не тогда, когда это явно путь (/my/server/path).

...