如何复制名称中带空格的目录

时间:2012-08-19 16:13:47

标签: directory spaces robocopy

我正在尝试使用robocopy但由于目录名称中的空格而无法使其工作 我正在尝试将3个目录:我的文档,我的音乐和我的图片复制到'C:\ test-backup',但希望最终结果是 'C:\ test-backup \我的文件' 'C:\ test-backup \我的音乐'
'C:\ test-backup \ My Pictures'

我的命令不起作用:
robocopy C:\Users\Angie C:\test-backup "My Documents" /B /E /R:0 /CREATE /NP /TEE /XJ /LOG+:"CompleteBackupLog.txt"

无论我做什么,都没有发生。有人有任何建议或窍门吗?

8 个答案:

答案 0 :(得分:62)

经过一些反复试验并观察结果(换句话说,我将其破解),我得到了它的工作。

引号是使用带空格的路径名所必需的。诀窍是在结束引号之前的路径名之后必须有一个空格......就像这样......

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

这几乎看起来像一个错误,当然也不是很直观。

Todd K。

答案 1 :(得分:18)

如果路径不包含尾部反斜杠,则在关闭引号之前不需要添加空格,因此跟随命令应该起作用:

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

但是,以下方法不起作用:

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

这是由于here所述的转义问题:

  

\ escape可能会导致引用的目录路径出现问题   包含一个尾部反斜杠,因为结束引用"在......的最后   该行将被转义\"。

答案 2 :(得分:8)

My DocumentsC:\test-backup分开是什么意思?为什么报价仅在My Documents附近?

我认为这是一个错字,尝试使用robocopy C:\Users\Angie "C:\test-backup\My Documents" /B /E /R:0 /CREATE /NP /TEE /XJ /LOG+:"CompleteBackupLog.txt"

[编辑:] 由于文档指定的语法(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"

答案 3 :(得分:2)

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"

答案 4 :(得分:1)

当您指定路径上的最后一个目录时,删除最后一个。

例如&#34; \ server \目录,其中space \目录为空格&#34;。

应该这样做。

答案 5 :(得分:1)

robocopy在解释源名称时存在一个错误。如果在路径末尾添加反斜杠来描述文件夹,则该文件夹将在行的其余部分中始终包含源字符串。即

robocopy“ C:\ backup \”%destination%/ e这里什么都不会转到目标字符串

robocopy“ C:\ backup”%destination%/ e,但这可行

我可能错了,但我认为两者都应该起作用!

答案 6 :(得分:-1)

如果此文件夹是命令中的第一个,则它不会使用文件夹名称中的空格,因此请使用下划线替换文件夹名称中的空格。

答案 7 :(得分:-1)

您应该只在路径"c:\program files\

之前编写括号