我有一个使用Robocopy备份我的文件的备份batch file(注意这个例子包含你应该删除的换行符):
robocopy "C:\" "G:\Default\RoboCopyBackup\C" /XF Pagefile.sys /XD "System Volume Information" "Recycler" "Temporary Internet Files" "Installer Cache" "Temp" /E /R:1 /W:0 /TEE /XJ
这应该在外部备份驱动器上创build一个文件夹结构,如下所示:
G:\Default\RoboCopyBackup\C\...
但是, G:看起来完全是空的。
奇怪的是,文件夹和文件在那里! 如果我在地址栏中input上面的path,我会看到所有的文件和文件夹!
任何人都可以帮我理解为什么? 我认为这可能是一些基于NTFS的所有权/权限的事情,但我不知道。
我从来没有得到一个满意的答案这个问题,但它似乎是复制一个驱动器的根(在你的情况下C:\ )和/ COPYALL标志的组合。
RoboCopy似乎在复制整个源驱动器时将“系统”和“隐藏”属性应用于目标文件夹。 到目前为止,我find了两个解决方法…
1)运行robocopy后运行ATTRIB 。 在你的情况下:
attrib -s -h "G:\Default\RoboCopyBackup\C"
2)将/COPYALL更改为/COPY:DTSOU (不包括复制属性A )。 在你的情况,我没有看到一个copyall标志列出,但我已经看到这个问题相当频繁的post。 删除属性可能不是一个实际的解决scheme在你的情况下,所以你的里程可能会有所不同,在这一个。
HTH,-eric
Robocopy会根据您正在复制的源文件夹的属性为您创build一个文件夹path。 复制整个驱动器将导致文件夹被隐藏并标记为“系统文件夹”。
您可以通过在窗口资源pipe理器的文件夹选项窗口的视图选项卡上取消选中“隐藏受保护的操作系统文件(推荐)”来使该文件夹可见。
上周末我发生了这种情况,我确定这是由于robocopy无法复制所有内容,在我的例子中,因为某些天才让服务器在我的计划维护窗口中执行自动更新,所以失败了。 在重新启动robocopy之后,让它完成目录显示就好了。
编辑:
再想一想,当试图将文件夹结构复制到驱动器的根目录时,出现类似的问题,并且在复制系统卷信息时失败。
我正在使用Windows 7和定义这个参数为我解决了这个问题:)
/ COPY:DTO