.bat文件自动复制 - 如何只复制一次文件?

时间:2016-05-12 11:33:26

标签: batch-file cmd robocopy

我想要一个.bat文件,它会自动将所有文件和文件夹从一个文件夹复制到另一个文件夹。例如:

robocopy "c:\source" "D:\target" /e /MON:1 /xc /xn /xo

但是我需要它,以便复制文件后,即使副本已移动到其他目录,也不会再次复制该文件。有没有办法做到这一点? robocopy是否可以在复制文件之前创建日志并进行检查?

如果robocopy无法做到,可以做什么?

2 个答案:

答案 0 :(得分:1)

根据robocopy的建议在Stephan(SS64文章)命令行中另外使用选项/M,因为此选项导致仅复制在源文件夹树中设置了归档属性的文件,成功复制文件后,通过 robocopy 删除存档属性。

%SystemRoot%\System32\robocopy.exe "C:\source" "D:\target" /M /E /MON:1 /XC /XN /XO

在文件修改时会再次自动设置存档属性。

您也可以使用xcopy(SS64文章):

%SystemRoot%\System32\xcopy.exe "C:\source" "D:\target\" /M /E /C /I /Q /G /H /R /K /Y >nul

对于您的任务而言,重要的是选项/M,用于仅复制在源文件夹树中设置了归档属性的文件,并在复制文件后清除归档属性。

注意:/I仅在目标文件夹路径以反斜杠结尾的情况下,在没有用户提示的情况下工作。

分别在命令提示符窗口robocopy /? xcopy /?中运行,以获取有关其他选项的详细信息,或阅读robocopyxcopy的Microsoft文档。

答案 1 :(得分:0)

好吧那么,最简​​单的方法是复制每个 单独的文件和文件夹,到所述文件夹。 这可能不是你想要的,但是 我希望它有所帮助!可悲的是,没有办法 使用单个命令复制l个文件夹。