Как скопировать каталоги с пробелами в имени

Я пытаюсь использовать robocopy, но не могу заставить его работать из-за пробелов в именах каталогов.
Я пытаюсь скопировать 3 каталога: Мои документы, мою музыку и мои фотографии в " C:test-backup - но хотите, чтобы конечный результат был
Документы C:test-backupmy '
"C:test-backupMy Музыка'
'C:test-backupMy Фотографии'

моя команда не работает:
robocopy C:UsersAngie C:test-backup "My Documents" /B /E /R:0 /CREATE /NP /TEE /XJ /LOG+:"CompleteBackupLog.txt"

неважно, что я делаю, это просто не происходит. У кого-нибудь есть предложения или трюки?

7 ответов


что с отделения My Documents с C:\test-backup? И почему котировки только вокруг My Documents?

Я предполагаю, что это опечатка, попробуйте использовать robocopy C:\Users\Angie "C:\test-backup\My Documents" /B /E /R:0 /CREATE /NP /TEE /XJ /LOG+:"CompleteBackupLog.txt"

[Edit:] поскольку синтаксис указывается в документации (robocopy <Source> <Destination> [<File>[ ...]]) сказал , это может не работать с папки.

вам придется использоватьrobocopy "C:\Users\Angie\My Documents" "C:\test-backup\My Documents" /B /E /R:0 /CREATE /NP /TEE /XJ /LOG+:"CompleteBackupLog.txt"


после некоторых проб и ошибок и наблюдая за результатами (другими словами, я взломал его), я получил его на работу.

кавычки необходимы для использования имени пути с пробелами. Хитрость в том, что перед заключительной цитатой должно быть пространство после имен путей...вроде этого...

robocopy "C:\Source Path " "C:\Destination Path " /option1 /option2...

Это почти похоже на ошибку и, конечно, не очень интуитивно.

Тодд К.


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

robocopy "C:\Source Path" "C:\Destination Path" /option1 /option2...

но, следующее не будет работать:

robocopy "C:\Source Path\" "C:\Destination Path\" /option1 /option2...

это связано с проблемой экранирования, которая описана здесь:

\ escape может вызвать проблемы с цитируемыми путями каталогов, которые содержать обратную косую черту, так как закрывающая цитата " В конце линия будет экранирована \".


robocopy "C:\Users\Angie\My Documents" "C:\test-backup\My Documents" /B /E /R:0 /CREATE /NP /TEE /XJ /LOG+:"CompleteBackupLog.txt"
robocopy "C:\Users\Angie\My Music" "C:\test-backup\My Music" /B /E /R:0 /CREATE /NP /TEE /XJ /LOG+:"CompleteBackupLog.txt"
robocopy "C:\Users\Angie\My Pictures" "C:\test-backup\My Pictures" /B /E /R:0 /CREATE /NP /TEE /XJ /LOG+:"CompleteBackupLog.txt"

при указании последнего каталога по пути удалите последний .

например"\server\directory with space\directory with space".

Что должен сделать это.


Если эта папка является первой в команде, то она не будет работать с пробелом в имени папки, поэтому замените пробел в имени папки подчеркиванием.


вы должны писать скобки только перед path:"c:\program files\