Мне нужно скопировать глубокий каталог на одном компьютере с Windows поверх «себя» на другом компьютере с Windows. Кажется, я не могу заставить команду работать правильно. Текущая проблема заключается в том, что, похоже, scp удаляет косые черты из исходного параметра.
scp -v -r КОМПЬЮТЕР1: D: \ A \ B КОМПЬЮТЕР2: D: \ A \ B
Я также просто пытался скопировать под другое имя, например
scp -v -r КОМПЬЮТЕР1: D: \ A \ B КОМПЬЮТЕР2: D: \ A \ B1
Я почти уверен, что проблема в том, что это обратная косая черта, и ее нужно правильно экранировать (я не использую Windows, но я бы попробовал использовать две обратные косые черты вместо одной).
Если вы все еще не можете найти правильный синтаксис, чтобы избежать его, используйте WinSCP.
Вы также можете изучить rsync, который не только обеспечивает безопасность, которую имеет ssh (путем туннелирования через него), но также добавляет преимущества инкрементных копий. Вы копируете только то, что вам нужно.
Среди других функций он имеет очень мощный синтаксис включения / исключения, а также действительно полезный серверный режим.
В Windows вы можете либо использовать косую черту вместо обратной косой черты (scp -v -r COMPUTER1: D: / A / B COMPUTER2: D: / A / B), как и для URL-адресов file: //, либо указывать пути (не уверен, одинарный он или двойной, и это не всегда работает).