Назад | Перейти на главную страницу

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

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

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

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

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

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

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

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

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

В моей системе (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:\ или F:\. Эти папки будут содержать системные и скрытые атрибуты, и, будучи исходной корневой папкой, не могут быть удалены attrib -s -h команда.

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

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

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

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

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

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