Почему RoboCopy создает скрытую системную папку?

10

Я думал, что попробую RoboCopy для зеркального отображения содержимого папки на другой жесткий диск. И похоже, что это сработало. Но по какой-то причине, чтобы увидеть папку назначения, мне нужно включить Показать скрытые файлы, папки и диски и отключить Скрыть защищенные файлы операционной системы . Почему это? Исходная и целевая папки изначально были как видимыми, так и обычными каталогами. Когда я открываю свойства для этой папки назначения, атрибут Hidden даже отключается. Что здесь происходит?

Это потому, что я запустил его в командной строке администратора? Или это проблема с моим выбором модификаторов? Или Robocopy действительно так работает?

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

Обновление: попытался скопировать другой диск в другую папку, и у меня произошло то же самое. Но когда я пытаюсь просто скопировать папку в другую папку, папка назначения остается нормальной. Может быть потому, что я копирую диск? Если так, как я могу предотвратить это? Потому что я действительно хочу скопировать весь диск ...

Svish
источник
Создание каталога заранее не работает. Как только вы снова запустите Robo Copy, атрибуты снова сделают его скрытым. Команда атрибута работает.

Ответы:

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 получили скрытую системную папку, когда я скопировал их в папки на внешнем диске, в то время как диск C не сделал Oo Я не понимаю ...
Свиш
У меня та же проблема со скрытым сетевым ресурсом ( $). Я побежал Get-Itemна эту акцию, и это также говорит, d--hsтак что я думаю, что причина! Спасибо!
Крис Хаас
Это также может относиться к общим сетевым ресурсам, например, из нашего сетевого хранилища Synology, которое помечает \\ nas \ sharename как скрытую папку. Когда вы копируете эту папку с помощью robocopy с / copyall или / COPY: xAxxxx, который включает в себя (A) атрибуты, папка назначения создается с теми же атрибутами, что и источник.
BeowulfNode42
9

Это связано с копированием скрытой / системной информации о томе системы из корня диска - если она копируется, целевой каталог получает те же атрибуты system / hidden.

Создание каталога перед копированием не помогает, так как robocopy тоже его скрывает.

Добавьте /A-:SHпереключатель, чтобы игнорировать системные файлы.

Больше информации в этом обсуждении Microsoft Technet .

xcxc
источник
6

Я тоже столкнулся с этой проблемой. Кажется, эта скрытая папка появляется, когда исходный каталог является корнем диска, например. D:\или F:\. Эти папки будут содержать системные и скрытые атрибуты и, будучи исходной корневой папкой, не могут быть удалены attrib -s -hкомандой.

В этом примере F:\источником G:\является пункт назначения.

Вы можете увидеть атрибуты в PowerShell. Вы увидите режим d--hsдля каталога, скрытого и системного. Попробуйте get-itemкомандуC:\> Get-Item F:\

Возможно, Robocopy не создаст ее как скрытую папку, если она существует. Я читал в нескольких сообщениях, что с помощью /CREATEуловки, или вы можете создавать папки вручную заранее. Я должен сделать дальнейшее тестирование, а также другие комбинации, чтобы проверить это полностью.

В противном случае вы можете attrib -h -s G:\Destination_Folderудалить системный и скрытый атрибут после копирования.

JP Babiera
источник
-1

Используйте решение Агилара, если вы не против запустить его attribпотом. Другим решением было бы просто создать целевой каталог заранее:

  1. mkdir I:\E
  2. robocopy E: I:\E /COPYALL /E /R:0 /MIR /B /ETA
jofafrazze
источник
2
Это не помогает - E устанавливается на скрытую систему после копирования.
Flyto