2

我的计算机上有一个文件夹,我想每天安排(使用任务计划程序)备份。我想要做的是,如果目标文件夹已经包含源路径中的文件夹(包括子文件夹和文件),它将被跳过并继续复制尚未在目标文件夹中的其他文件夹(我不想要覆盖现有文件夹或子文件夹甚至文件)。我怎么能对我的批处理文件这样做?

例如源文件夹包含:Folder1 Folder2 Folder3

目标文件夹包含: Folder1(源上的相同文件夹) Folder2(源上的相同文件夹)

该命令将仅复制 Folder3。

4

2 回答 2

9

这会将源镜像到目标并跳过已经存在的文件,但也会删除源中不再存在的文件(从目标) - Vista 和更高版本具有 Robocopy。XP可以下载。

robocopy "c:\source" "d:\target" /mir

或 UNC 路径

robocopy "\\server1\share\" "\\server2\\share2" /mir
于 2013-09-01T22:29:08.133 回答
1

有各种备份和复制实用程序可以为您执行此操作,以及许多其他选项。

但是,仅针对您声明的要求,编写 BAT 解决方案很容易......

阅读HELP FOR,然后尝试这个简单的FOR命令

for /D %%a in (*) do (
  if not exist %dest%\%%a (
    echo xcopy /s %%a %dest%
  )
)

验证输出,然后删除ECHO

于 2013-09-01T20:59:42.033 回答