2016-01-07 3 views
1

У меня есть главная папка на моем диске, которая содержит еще 50 других папок. Теперь я хочу скрыть эти 50 папок. Я могу просто щелкнуть правой кнопкой мыши и установить флажок «Скрыть», но я ищу более быстрый способ сделать это. Любые рекомендации?Скрытие папок с помощью PowerShell

для Windows 8.

+0

Я голосовал, чтобы закрыть это, как он больше подходит для суперпользователя. Вы вообще не задаете вопрос программирования. – Matt

+0

Как я уже говорил, у меня есть как минимум 50-60 папок, которые нужно скрыть. –

ответ

2

Для одного файла, вы можете изменить attributes свойство, например:

$f=get-item .\your_folder -Force 
$f.attributes="Hidden" 

Чтобы скрыть все, что в папке, вы можете использовать Get-ChildItem, как это:

Get-ChildItem -path "your_path_here" -Recurse -Force | foreach {$_.attributes = "Hidden"} 
+0

Если я запустил эту команду из родительской папки, она добавит скрытые атрибуты во все дочерние папки? –

+0

Я только что протестировал его, первое решение - не рекурсивное. Вы можете использовать «Get-ChildItem -path» your_path_here »-Recurse-Force | foreach {$ _. attributes = "Hidden"} ', чтобы сделать рекурсивное изменение. Я обновил ответ с этой информацией. –

7

Принятый ответ представляет потенциальную проблему безопасности.

Переписыванием весь Attributes битовое поле, следует помнить, что любой другой атрибут, ранее определенные в файле или папке (только для чтения, шифрования, ...) будут бесшумно удалены.

Используйте двоичный или предотвратить такое поведение:

Get-Item .\your_folder -Force | foreach { $_.Attributes = $_.Attributes -bor "Hidden" }