飘在云端

啊!那蓝真天,白真云!

· 备查 · · 991次浏览

xcopy 复制目录时包含本身且无需管道确认是目录还是文件

现需要复制当前目录下的一个名为 NetSarang Computer的目录,里面包含了子目录和很多子文件,甚至还有空的子目录

现在需要保持原始目录层次结构复制到另一个目标系统的当前运行用户的我的文档下面

如下这么写即可

xcopy /e /f /h /r /k /y /v "NetSarang Computer" "%HOMEPATH%\Documents\NetSarang Computer\"

因为目录名包含了空格,所以需要使用引号引起来,因为需要包含目录本身,所以需要在复制的目标路径,多写一个需要复制的目录名本身,即 目标系统的路径\目录本身文件名,且必须要以 \ 结尾表示目录,这样才不会出现是否为文件还是目录的提示。

细节1,需要复制的目录名 无论是否包含空格或特殊字符,都使用""引起来路径,以防万一
细节2,要包含复制时的目录本身,需要在目标路径末尾追加当前的目录本身名字,并同时以 "\" 结尾(windows下反斜杠表示路径),不然会出现预期以外的效果

这里稍微提一下,产生这个分歧的原因是老外与国人的理解有区别的,复制文件时,老外是理解为 什么 复制为 什么
例如 当前目录下的 abc 目录 复制到 上级目录且改名为 test,他们理解为 abc 复制为 test,且存放到上级路径
国人理解是 什么复制到哪里,已经是假定为原样复制了,即 abc 复制到 xxx 位置,且还是abc(没改名)
所以linux 下 move 可以用来改名,就是因为理解上的差异