Я думал, что попробую RoboCopy для зеркального отображения содержимого папки на другой жесткий диск. И похоже, что это сработало. Но по какой-то причине, чтобы увидеть папку назначения, мне нужно включить Показать скрытые файлы, папки и диски и отключить Скрыть защищенные файлы операционной системы . Почему это? Исходная и целевая папки изначально были как видимыми, так и обычными каталогами. Когда я открываю свойства для этой папки назначения, атрибут Hidden даже отключается. Что здесь происходит?
Это потому, что я запустил его в командной строке администратора? Или это проблема с моим выбором модификаторов? Или Robocopy действительно так работает?
robocopy E: I:\E /COPYALL /E /R:0 /MIR /B /ETA
Обновление: попытался скопировать другой диск в другую папку, и у меня произошло то же самое. Но когда я пытаюсь просто скопировать папку в другую папку, папка назначения остается нормальной. Может быть потому, что я копирую диск? Если так, как я могу предотвратить это? Потому что я действительно хочу скопировать весь диск ...
Ответы:
В моей системе (Vista) PowerShell показывает диск c: \ как имеющий скрытые и системные атрибуты.
После копирования файлов вы можете использовать attrib для их исправления. Проверьте attrib /? для деталей.
источник
$
). Я побежалGet-Item
на эту акцию, и это также говорит,d--hs
так что я думаю, что причина! Спасибо!Это связано с копированием скрытой / системной информации о томе системы из корня диска - если она копируется, целевой каталог получает те же атрибуты system / hidden.
Создание каталога перед копированием не помогает, так как robocopy тоже его скрывает.
Добавьте
/A-:SH
переключатель, чтобы игнорировать системные файлы.Больше информации в этом обсуждении Microsoft Technet .
источник
Я тоже столкнулся с этой проблемой. Кажется, эта скрытая папка появляется, когда исходный каталог является корнем диска, например.
D:\
илиF:\
. Эти папки будут содержать системные и скрытые атрибуты и, будучи исходной корневой папкой, не могут быть удаленыattrib -s -h
командой.В этом примере
F:\
источникомG:\
является пункт назначения.Вы можете увидеть атрибуты в PowerShell. Вы увидите режим
d--hs
для каталога, скрытого и системного. Попробуйтеget-item
командуC:\> Get-Item F:\
Возможно, Robocopy не создаст ее как скрытую папку, если она существует. Я читал в нескольких сообщениях, что с помощью
/CREATE
уловки, или вы можете создавать папки вручную заранее. Я должен сделать дальнейшее тестирование, а также другие комбинации, чтобы проверить это полностью.В противном случае вы можете
attrib -h -s G:\Destination_Folder
удалить системный и скрытый атрибут после копирования.источник
Используйте решение Агилара, если вы не против запустить его
attrib
потом. Другим решением было бы просто создать целевой каталог заранее:mkdir I:\E
robocopy E: I:\E /COPYALL /E /R:0 /MIR /B /ETA
источник