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


10

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

是因为我在管理员命令提示符中运行了它吗?还是我选择的修饰符有问题?还是robocopy真的只是这样工作?

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

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


提前创建目录不起作用。再次运行robo副本后,属性再次将其隐藏。attribute命令确实起作用。

Answers:


9

在我的系统(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 /?有关详细信息。


嗯,是的,我所有的三个硬盘驱动器也都具有这些属性...奇怪的是,当我将D和E驱动器自动复制到外部驱动器上的文件夹时,我的D和E驱动器得到了一个隐藏的系统文件夹,而C驱动器却没有我不明白…
Svish

隐藏的网络共享($)存在相同的问题。我跑Get-Item了那个份额,它也说,d--hs所以我想这就是原因!谢谢!
克里斯·哈斯

通常对于网络共享也是如此,例如在我们的Synology NAS框中,它会将\\ nas \ sharename标记为隐藏文件夹。当您使用具有/ copyall或/ COPY:xAxxxx且包含(A)属性的robocopy复制该文件夹时,将创建具有与源相同属性的目标文件夹。
BeowulfNode42

9

它与从磁盘根目录复制隐藏的/系统的系统卷信息有关-如果复制了副本,则目标目录将具有相同的属性system / hidden。

复制前创建目录无济于事,因为robocopy也会将其隐藏。

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

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


6

我也遇到了这个问题。当源目录是驱动器的根目录时,似乎出现了此隐藏文件夹。 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操作删除副本后的system和hidden属性。


-1

如果您不介意attrib以后再运行,请使用M Aguilar的解决方案。另一个解决方案是仅预先创建目标目录:

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

2
这无济于事-复制后将E设置为隐藏系统。
Flyto
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.