我想我会尝试使用 RoboCopy 将文件夹的内容镜像到另一个硬盘驱动器。似乎它奏效了。但是,出于某种原因,要查看目标文件夹,我必须同时启用Show hidden files、folders and drive并禁用Hide protected operating system files。为什么是这样?源文件夹和目标文件夹最初都是可见目录和普通目录。当我打开该目标文件夹的属性时,隐藏属性甚至被禁用。这里发生了什么?
是因为我在管理员命令提示符下运行它吗?还是我选择的修饰符有问题?或者 robocopy 真的只是这样工作吗?
robocopy E: I:\E /COPYALL /E /R:0 /MIR /B /ETA
更新:试图将另一个驱动器复制到另一个文件夹,我在那里发生了同样的事情。但是当我尝试将一个文件夹复制到另一个文件夹时,目标文件夹保持正常。难道是因为我复制了一个驱动器?如果是这样,我怎样才能防止这种情况发生?因为我真的很想复制整个驱动器...
在我的系统(Vista)上,powershell 将 c:\ 驱动器显示为同时设置了隐藏和系统属性。
复制文件后,您可以使用 attrib 修复它们。查看属性/?详情。
它与从磁盘根目录复制隐藏/系统系统卷信息有关 - 如果它被复制,目标目录将获得相同的系统/隐藏属性。
在复制之前创建目录没有帮助,因为 robocopy 也会隐藏它。
添加
/A-:SH
开关以忽略系统文件。此Microsoft Technet 讨论中的更多信息。
我也遇到过这个问题。当源目录是驱动器的根目录时,似乎会出现这个隐藏文件夹,例如。
D:\
或F:\
。这些文件夹将包含系统和隐藏属性,并且作为源根文件夹,它不能被attrib -s -h
命令删除。在这个例子中,
F:\
是源G:\
是目的。您可以在 PowerShell 中查看属性。您将看到
d--hs
目录、隐藏和系统的模式。试试get-item
命令C:\> Get-Item F:\
如果文件夹存在,Robocopy 应该不会将其创建为隐藏文件夹。我已经阅读了一些使用 a
/CREATE
可以解决问题的帖子,或者您可以提前手动创建文件夹。我必须做进一步的测试以及其他组合来完全验证这一点。否则,您可以
attrib -h -s G:\Destination_Folder
在复制后删除系统和隐藏属性。如果您不介意
attrib
事后跑步,请使用 M Aguilar 的解决方案。另一种解决方案是预先创建目标目录:mkdir I:\E
robocopy E: I:\E /COPYALL /E /R:0 /MIR /B /ETA