【问题标题】:Copy a directory with xcopy/robocopy使用 xcopy/robocopy 复制目录
【发布时间】:2014-07-14 23:23:37
【问题描述】:

我有一个将目录路径作为参数的批处理脚本。 在脚本中,我想将此目录复制到其他地方。

例如,让脚本参数为“C:\Users\Raffaele\Foo”,复制目标为“C:\Foe”。 最后,我想要“C:\Foe\Foo”。 相反,我能得到的最好结果(使用 xcopy 和 robocopy)是将“Foo”中的所有文件和子目录复制到“Foe”中。

【问题讨论】:

    标签: windows batch-file xcopy robocopy


    【解决方案1】:

    xcopy 足以满足您的要求,阅读HELP XCOPYHELP CALL 并尝试

    call :docopy c:\users\rafaele\foo c:\foe
    goto :eof
    :docopy
    xcopy /S /E /I %1 %2\%~n1
    goto :eof
    

    诀窍是提取目录名称并使用它来指定源目录和目标目录

    /S 标志复制源内的目录

    /E 标志在目标中创建目录(如果它们存在但在源中为空)

    /I 标志假定目标是一个目录并创建它

    【讨论】:

    • 我也想过类似的事情。由于“C:\Users\Raffaele\Foo”是一个变量路径,我怎样才能只提取“Foo”部分? Linux 中是否存在类似“basename”的命令?
    • 是的,您可以使用%~n 提取目录名称。答案已编辑。
    猜你喜欢
    • 2017-01-28
    • 1970-01-01
    • 1970-01-01
    • 2021-03-03
    • 1970-01-01
    • 2010-10-09
    • 2014-07-30
    • 2012-02-13
    • 1970-01-01
    相关资源
    最近更新 更多