我想在新的子文件夹中复制WHOLE文件夹。目前我正在使用:
(robocopy "C:/Test" "C:/Test/a" /E> output.log) ^& IF %ERRORLEVEL% LSS 8 SET ERRORLEVEL = 0
运行之后,“C:/ Test / a”中还有“/ a”文件夹。我不想要那个新文件夹。
答案 0 :(得分:1)
当要复制完整的源目录树并且目标目录位于源目录树中时,robocopy
命令似乎感到困惑。因此,您的命令行会生成一个目录C:\Test\a\a
,该目录部分包含来自源的内容。
尝试使用/L
选项(不要复制,但列出要复制的项目),因此输出日志会准确显示您的期望。一旦您实际复制(删除/L
),日志中会出现更多项目。此行为表示robocopy
未提前评估整个源目录树,但在实际复制操作期间。
避免这种情况的最简单方法是排除目标目录(重新)复制:
robocopy "C:\Test" "C:\Test\a" /E /XD "C:\Test\a"
顺便说一下,正确的Windows路径分隔符是\
。虽然robocopy
也接受/
,但yuo应该坚持\
,因为许多命令会误解/
。