25

Есть ли способ, чтобы Windows автоматически скрывала любой файл с префиксом (например, ".svn"), как это делается в Linux?

3 ответа3

19

После некоторых проблем (команда attrib не позволяет использовать некоторые символы подстановки), я получил следующую строку:

@for %%X in (.*.*) do attrib +h %%X

Просто поместите его в пакетный файл (.bat), и он сделает свое дело (для этого каталога).

Если вы хотите это для нескольких директорий, просто установите его для запуска один раз в день в этих каталогах.

Надеюсь, это то, что вам нужно.

6

Используя Powershell, сохраните следующее в файле сценария (например, hidedotfiles.ps1) и запускайте его всякий раз, когда вы не хотите скрывать точечные файлы.

Конечно, следующий однострочный можно упростить, используя псевдонимы и "-f" для "-force" и "-r" для "-recurse", но чтобы быть поучительным, я выписал это в полной форме:

Get-ChildItem "C:\" -recurse -force | Where-Object {$_.name -like ".*" -and $_.attributes -match 'Hidden' -eq $false} | Set-ItemProperty -name Attributes -value ([System.IO.FileAttributes]::Hidden)

По сути, Get-ChildItem -recurse -force получает все элементы и выполняет поиск во всех папках, заставляя скрытые элементы отображаться. Затем мы ищем файлы и папки, которые начинаются с точки, и выбираем только те файлы, которые имеют скрытый атрибут. После того, как мы перечислили все файлы, мы устанавливаем их атрибуты скрытыми, используя Set-ItemProperty.

4

Чтобы скрыть все точечные файлы / каталоги на диске (а не в одном каталоге), я считаю, что этот ответ лучше всего работает:

ATTRIB +H /s /d C:\.*

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .