【问题标题】:converting xcopy to robocopy将 xcopy 转换为 robocopy
【发布时间】:2012-02-13 07:52:10
【问题描述】:

尝试使用 xcopy 并排除文件夹及其所有子文件夹。

C:\Merged\org\a>xcopy /I /E /Y C:\Merged\org\*.* C:\Merged\dest /exclude:"C:\Mer
ged\org\a\*.*"
Can't read file: "C:\Merged\org\a\*.*"

我想我不能排除文件夹,而只能排除带有 xcopy 的文件。

所以我想改用 robocopy,但我不确定要使用哪些标志。

与我上面的 xcopy 等效的 robocopy 是什么?

【问题讨论】:

    标签: windows cmd xcopy robocopy


    【解决方案1】:

    嗯,你可以。阅读XCOPY /?:

    /排除:file1[+file2][+file3]... 指定包含字符串的文件列表。每个字符串 应该在文件中的单独行中。当任何一个 字符串匹配文件绝对路径的任何部分 复制,该文件将被排除在复制之外。为了 例如,指定像 \obj\ 或 .obj 这样的字符串将排除 目录下的所有文件 obj 或所有文件 .obj 扩展名。

    问题是当你应该指定一个文件的名称时,你将要排除的路径指定为/EXCLUDE,其中包含要排除的“路径”(实际上更灵活,见上文)。您收到的错误消息甚至暗示了这一点。

    创建一个文件,例如C:\ignore.txt,包含行“C:\Merged\orga\a\”,然后调用XCOPY,如下所示:

    xcopy.exe C:\Merged\org\*.* C:\Merged\dest /exclude:C:\ignore.txt /I /E /Y
    

    如果你仍然想使用 robocopy,你可以这样做:

    robocopy.exe c:\merged\org c:\merged\dest /xd c:\merged\org\a /IS /E
    

    【讨论】:

    • 我找不到 /I /Y 标志的等效项。您的 robocopy 是否包含它们?
    • /I 是隐含的。而不是 /Y 使用 /IS 覆盖现有文件(否则 robocopy 将忽略未更改的目标现有文件)。
    【解决方案2】:

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-07-30
      • 2021-07-24
      • 2013-11-04
      • 2014-07-14
      • 2013-11-01
      • 2021-03-03
      • 2017-01-28
      • 2015-02-04
      相关资源
      最近更新 更多