我的计算机上有一个文件夹,我想每天安排(使用任务调度程序)备份。我想要做的是,如果目标文件夹已经包含源路径中的文件夹(包括子文件夹和文件),它将被跳过并继续复制目标文件夹中尚未存在的其他文件夹(我不想要覆盖现有文件夹或子文件夹甚至文件)。我怎么能这样做我的批处理文件?
e.g。 源文件夹包含: 文件夹1 文件夹2 Folder3
目标文件夹包含: Folder1(源上的相同文件夹) Folder2(源上的相同文件夹)
该命令仅复制Folder3。
答案 0 :(得分:8)
这会将源镜像到目标并跳过已存在的文件,但也会删除源中不再存在的文件(来自目标) - Vista及更高版本具有Robocopy。 XP可以下载它。
robocopy "c:\source" "d:\target" /mir
或UNC路径
robocopy "\\server1\share\" "\\server2\\share2" /mir
答案 1 :(得分:1)
有各种备份和复制实用程序可以执行此操作,还有许多其他选项可供您使用。
但是,只是为了满足您的要求,编写BAT解决方案很容易......
阅读HELP FOR
,然后尝试这个简单的FOR
命令
for /D %%a in (*) do (
if not exist %dest%\%%a (
echo xcopy /s %%a %dest%
)
)
验证输出,然后删除ECHO