【发布时间】:2017-07-27 11:20:06
【问题描述】:
我正在尝试创建一个批处理脚本来将不同位置的多个目录复制到另一个位置的一个目录中。问题是 robocopy 正在复制根目录的内部内容,而不是根目录本身
所以如果我在位置有 3 个目录: C:\dir1 , C:\dir2 , C:\dir3
我想将它们复制到一个文件夹到另一个位置,例如: D:\dirBackups
所以结果是 D:\dirBackups\dir1 , D:\dirBackups\dir2, D:\dirBackups/dir3
目前 robocopy 正在复制 dir1 、 dir2 和 dir3 中的内容,所以我最终将三个目录的内容全部复制到D:\dirBackups
我正在使用以下代码
for /F "tokens=*" %%A in (%pathsFile%) do (
robocopy %%A D:\dirBackups /E /COPYALL /XF /SEC /SECFIX /TIMFIX /W:0 /R:1 /REG /XJ /Z /FFT
)
%pathsFile% 是一个文本文件,其中包含要备份到 D:\dirBackups 的目录,所以我正在循环该文件和每一行我都触发了相同的 robocopy 命令。
文件被很好地复制,但根目录从未包含在内,因此它的工作方式就像展开所有文件夹并且只将每个文件夹的内部内容复制到一个位置。
谢谢
【问题讨论】:
-
应该是反斜杠
D:\dirBackups而不是正斜杠D:/dirBackups。另外你不需要使用/SEC,相当于/COPY:DATS,因为你已经用过/COPYALL,相当于/COPY:DATSOU.此外,您的/XF选项不会命名任何要排除的文件,请在命令提示符窗口中输入ROBOCOPY /?以获取有关该命令的更多信息。 -
我的路径实际上是在使用 \ 而不是 / 我在输入时犯了一个错误...感谢您提供的信息,但是任何线索我可以将多个文件夹从根目录复制到另一个文件夹中结尾 ?谢谢
标签: batch-file cmd