为什么RoboCopy会创build一个隐藏的系统文件夹?

我以为我会尝试RoboCopy镜像文件夹的内容到另一个硬盘。 而且看起来像是有效的。 但是,出于某种原因,要查看目标文件夹我必须启用显示隐藏的文件,文件夹和驱动器,并禁用隐藏受保护的操作系统文件 。 为什么是这样? 源文件夹和目标文件夹最初都是可见的和普通的目录。 当我打开该目标文件夹的属性时, 隐藏属性甚至被禁用。 这里发生了什么?

是因为我在pipe理员命令提示符下运行它吗? 或者是我select修饰符的问题? 还是robocopy真的只是这样工作?

robocopy E: I:\E /COPYALL /E /R:0 /MIR /B /ETA 

更新:试图复制另一个驱动器到另一个文件夹,我得到了同样的事情发生在那里。 但是,当我尝试将文件夹复制到不同的文件夹时,目标文件夹保持正常。 难道是因为我复制一个驱动器? 如果是这样,我怎样才能防止这种情况发生? 因为我真的想复制整个驱动器…

在我的系统(Vista)上,powershell显示c:\驱动器同时设置了隐藏和系统属性。

  PS C:\Users\michael.DOMAIN> Get-Item c:\ Directory: Mode LastWriteTime Length Name ---- ------------- ------ ---- d--hs 8/18/2009 12:19 PM <DIR> C:\ 

复制文件后,您可以使用attrib来修复它们。 退房attrib /? 了解详情。

它与从磁盘根目录复制隐藏/系统系统卷信息有关 – 如果被复制,目标目录将获得相同的属性system / hidden。

在复制之前创build目录并不会帮助,因为robocopy也会隐藏它。

添加/A-:SH开关忽略系统文件。

有关此Microsoft Technet讨论的更多信息。

我也遇到了这个问题。 当源目录是驱动器的根目录时,似乎这个隐藏文件夹出现,例如。 D:\F:\ 。 这些文件夹将包含系统和隐藏属性,并且作为源根文件夹,无法通过attrib -s -h命令删除。

在这个例子中, F:\是源G:\是目的地。

您可以在PowerShell中看到这些属性。 你会看到目录,隐藏和系统模式d--hs 。 试试get-item命令C:\> Get-Item F:\

如果文件夹存在,Robocopy应该不会将其创build为隐藏文件夹。 我已经阅读了几篇文章,使用/CREATE将做的伎俩,或者您可以提前手动创build文件夹。 我必须做进一步的testing,以及其他组合来validation这一点。

否则,您可以执行attrib -h -s G:\Destination_Folder来删除复制后的系统和隐藏属性。

如果您不介意后来运行attrib ,请使用M Aguilar的解决scheme。 另一个解决scheme是预先创build目标目录:

  1. mkdir I:\E
  2. robocopy E: I:\E /COPYALL /E /R:0 /MIR /B /ETA