我有多个驱动器,我想与robocopy同步到另一个驱动器。以下结构:
E:\
- ServerFolders
-- A
-- B
F:\
- ServerFolders
-- C
-- D这是我使用的命令:
robocopy E: G: /e /zb /np /copy:DAT /dcopy:T /r:2 /w:5 /mir /log+:"C:\Users\Administrator\Desktop\logs\backup_%date%.log" /XD "System Volume Information" "Recycler"
robocopy F: G: /e /zb /np /copy:DAT /dcopy:T /r:2 /w:5 /mir /log+:"C:\Users\Administrator\Desktop\logs\backup_%date%.log" /XD "System Volume Information" "Recycler"如您所见,我做了两个调用,并希望保存所有时间戳。如果从E:或F:中删除了某些内容,它也应该在G:上被删除。
现在的结果是,如果备份完成,E:中的所有内容都不再可用。我认为这是因为/mir删除了不再存在的文件夹。我想要的是:
G:\
- ServerFolders
-- A
-- B
-- C
-- D我有什么需要改变的?如果我指定子文件夹ServerFolders,也会出现同样的问题。此外,每次添加新文件夹时,我都必须更改脚本。
编辑:
我脑子里唯一想到的就是每一个文件夹都要这样做:
set source1=%fromHDD1%\ServerFolders\A
set source2=%fromHDD1%\ServerFolders\B
set source3=%fromHDD2%\ServerFolders\C
set target1=%to%\ServerFolders\A
set target2=%to%\ServerFolders\B
set target3=%to%\ServerFolders\C
robocopy %source1% %target1% /e /zb /np /copy:DAT /dcopy:T /r:2 /w:5 /mir /XD "System Volume Information" "Recycler"
robocopy %source2% %target2% /e /zb /np /copy:DAT /dcopy:T /r:2 /w:5 /mir /XD "System Volume Information" "Recycler"
robocopy %source3% %target3% /e /zb /np /copy:DAT /dcopy:T /r:2 /w:5 /mir /XD "System Volume Information" "Recycler"有没有更简单的办法?
发布于 2016-02-20 22:31:17
有没有更简单的办法?
泰瑞:不,没有。
Robocopy不能单独将两个源驱动器的内容汇总到一个目标文件夹中,并且仍然将每个子文件夹镜像回原来的源驱动器。
要做到这一点,Robocopy必须在其他地方保持子文件夹到源驱动器的映射,而且它没有这样的特性。因此,您必须维护Robocopy的映射,这就是您在编辑中所建议的。
顺便说一句,如果Robocopy假设有这样的特性,那么如果两个源驱动器上出现相同的子文件夹名(但内容不同),您希望它做什么呢?(例如,有E:\ServerFolders\X和F:\ServerFolders\X。)
如果您可以放松总结规则,那么最明显的替代方法是在G:上为每个源驱动器创建子文件夹。例如使用目的地G:\ServerFolders\DriveF\A, B, ...和G:\ServerFolders\DriveG\C, D, ...。
这样,如果您使用的是支持G:\ServerFolders\DriveF和G:\ServerFolders\DriveG的图书馆版本,您可以考虑通过创建图书馆来显示它们的摘要内容。或者,您可以通过为每个子目录创建和维护一个带有链接的目录来获得相同的效果。
https://stackoverflow.com/questions/35526520
复制相似问题