Есть ли способ не перезаписывать существующие файлы при использовании pscp?
Я пытаюсь скопировать файлы из папки на сервере, используя пакетный файл, однако я не хочу, чтобы файлы в папке назначения перезаписывались. Вот что у меня есть:
set /p address=ip address:
pause
pscp -pw "password" "username"@%address%:/folder path/* c:\folderpath
Это работает, однако, когда он работает, он перезаписывает файлы в папке назначения. Есть ли способ заставить его пропустить файлы, которые уже находятся в папке назначения?
2 ответа
Протокол SCP не очень сложен. Отправляющая сторона может только слепо отправлять файлы и каталоги получателю. Там нет стандартного варианта, чтобы избежать перезаписи файлов в месте назначения.
Вы должны посмотреть на более сложные протоколы передачи, такие как SFTP или rsync, как в комментариях.
TL;DR ответ от этих комментариев:
rsync -e ssh --ignore-existing server.xxx.com:/path/\* /destination/path
Еще лучше, если сервер также поддерживает CIFS ("сетевые ресурсы"), используйте это с cp -u
,