robocopy将文件复制到当前文件夹中的新文件夹,而不使用新创建的文件夹

时间:2018-05-28 11:48:41

标签: cmd robocopy

我想在新的子文件夹中复制WHOLE文件夹。目前我正在使用:

(robocopy "C:/Test" "C:/Test/a" /E> output.log)  ^& IF %ERRORLEVEL% LSS 8 SET ERRORLEVEL = 0

运行之后,“C:/ Test / a”中还有“/ a”文件夹。我不想要那个新文件夹。

1 个答案:

答案 0 :(得分:1)

当要复制完整的源目录树并且目标目录位于源目录树中时,robocopy命令似乎感到困惑。因此,您的命令行会生成一个目录C:\Test\a\a,该目录部分包含来自源的内容。

尝试使用/L选项(不要复制,但列出要复制的项目),因此输出日志会准确显示您的期望。一旦您实际复制(删除/L),日志中会出现更多项目。此行为表示robocopy未提前评估整个源目录树,但在实际复制操作期间。

避免这种情况的最简单方法是排除目标目录(重新)复制:

robocopy "C:\Test" "C:\Test\a" /E /XD "C:\Test\a"

顺便说一下,正确的Windows路径分隔符是\。虽然robocopy也接受/,但yuo应该坚持\,因为许多命令会误解/