使用DOS(命令提示符)复制一个驱动器中的所有文件和文件夹到另一个驱动器

73

我想使用MS-DOS将一个驱动器中的所有文件和文件夹复制到另一个驱动器中。怎么做?

我尝试了xcopy I:\*.* N:\,但它只复制文件,而不是文件夹。那么如何同时复制所有的文件和文件夹呢?

谢谢。


3
如果你确实在运行 MS-DOS(而不是在 Windows 下的 cmd.exe),那么你应该使用 XTreeGold :-)。 - paxdiablo
你能否重新考虑一下2018年的接受答案? - inetphantom
5个回答

164
xcopy "C:\SomeFolderName" "D:\SomeFolderName" /h /i /c /k /e /r /y

请使用上述命令,它一定会起作用。

此命令将从c:\复制数据到D:,包括文件夹和系统文件。以下是标志的用途:

  • /h 复制隐藏和系统文件
  • /i 如果目标不存在并且要复制多个文件,则假定目标必须是目录
  • /c 即使发生错误也继续复制
  • /k 复制属性
  • /e 复制目录和子目录,包括空目录
  • /r 覆盖只读文件
  • /y 禁止提示确认是否要覆盖文件
  • /z 以可重启模式在网络中进行复制。

更多标志可以在这里找到


4
如果你想要复制尽可能多的系统文件,我建议以管理员身份打开命令行应用程序。 - Flimm
11
这应该成为被采纳的答案,被采纳的答案没有复制所有文件。 - supernova
1
如果您想要复制所有文件和文件夹,请使用此命令。如上所述,这应该是被接受的答案。 - Sanguinary
3
抱歉,这个指令似乎是无意义的,因为 "opts spell out hickery!" 不是一个常见的短语或句子。请提供更多上下文或指示,以便我可以更好地理解您需要翻译的意思。 - ina
xcopy 无法处理超过256个字符的路径。 - Flimm
显示剩余2条评论

59

使用 xcopy /s I:\*.* N:\命令。

这就可以了。


17
警告:此方法并未复制所有文件,请使用 SHABAZ KHAN 提供的答案。 - supernova
xcopy并不总是有效。我建议使用robocopy,就像Flimm建议的那样(下面的回答)。有关robocopy的更多信息:https://learn.microsoft.com/en-us/windows-server/administration/windows-commands/robocopy - undefined

30

使用robocopy。Robocopy是默认安装在Windows Vista及更高版本上的,被认为是xcopy的替代品。(xcopy有一些显著的限制,包括无法处理超过256个字符的路径,即使文件系统可以处理)。

robocopy c:\ d:\ /e /zb /copyall /purge /dcopy:dat

注意,在卷的根目录上使用/purge将导致Robocopy在System Volume Information目录内的文件上应用所请求的操作。运行robocopy /?获取帮助。还要注意,您可能需要以管理员身份打开命令提示符才能复制系统文件。为了加快速度,请使用/b而不是/zb


1
这个无法用在“正在被另一个进程使用”的文件上,比如数据库文件。 - feetwet

3

这对我在Windows 10上有效,

xcopy /s {源驱动器,例如 C:} {目标驱动器,例如 D:} 这将复制所有文件和文件夹以及文件夹内容。


2

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接