![如何在命令提示符中复制整个文件夹/目录?](https://linux22.com/image/1603104/%E5%A6%82%E4%BD%95%E5%9C%A8%E5%91%BD%E4%BB%A4%E6%8F%90%E7%A4%BA%E7%AC%A6%E4%B8%AD%E5%A4%8D%E5%88%B6%E6%95%B4%E4%B8%AA%E6%96%87%E4%BB%B6%E5%A4%B9%2F%E7%9B%AE%E5%BD%95%EF%BC%9F.png)
我的笔记本电脑无法启动,因此我正在从 DVD 运行 Windows ISO,并尝试通过命令提示符将一些文件备份到插入 USB 的外部硬盘驱动器。
使用命令提示符,我可以进入文件夹并使用 robocopy 命令将其中的各个文件复制到我的硬盘上。(例如'C:\Users\Downloads robocopy E:)。
但是我想复制整个目录,例如“C:\Program Files (x86)”,包括所有(解压的)子文件夹等。
我曾尝试像这样使用 xcopy:'C:\program files (x86)\ E:\ /s /e /h /i /c /y' & 像这样:'C:\program files (x86)\ E:\'。
但每次命令提示符都会返回消息“参数数量无效”。
关于如何复制这些目录,您有什么想法吗?
非常感谢大家的帮助!谢谢!
答案1
如果您想要指定特定的源目录,以下是 Robocopy 所需的语法。
您需要运行多次才能备份多个源文件夹:
robocopy /e c:\users\mguillaume\downloads "e:\laptop backup"
/e
包括子文件夹和空子文件夹
/s
包括子文件夹(但跳过空子文件夹)
您不想同时使用
/s
和/e
开关;它们会冲突。选择一个!我个人更喜欢包含空子文件夹,所以/e
我会选择它。在我看来,完全保留您现有的文件夹结构(包括空文件夹)可能有助于您在将来组织数据。包含一个或多个空格的路径必须用双引号括起来。在您的示例中,我注意到包含空格的路径缺少引号。
无需使用大写字母。这里不区分大小写。不过,如果您愿意,可以随意使用它们。
或者,您可以复制整个 C 盘,并简单地排除您不想要的任何目录和文件。我喜欢以这种方式使用 Robocopy,因为您可以一次性备份您想要的所有内容!
它看起来是这样的:
robocopy /e c:\ "e:\laptop backup" /xd c:\windows c:\dell /xf c:\pagefil.sys c:\hiberfil.sys /r:0
/xd
排除目录
/xf
排除文件
/r:0
以零重试次数运行。我总是使用这个,这样 Robocopy 就不会卡在锁定的文件上。无论如何,您都会在摘要中看到是否跳过了任何内容。