Есть ли способ, чтобы Windows автоматически скрывала любой файл с префиксом (например, ".svn"), как это делается в Linux?
3 ответа
После некоторых проблем (команда attrib не позволяет использовать некоторые символы подстановки), я получил следующую строку:
@for %%X in (.*.*) do attrib +h %%X
Просто поместите его в пакетный файл (.bat), и он сделает свое дело (для этого каталога).
Если вы хотите это для нескольких директорий, просто установите его для запуска один раз в день в этих каталогах.
Надеюсь, это то, что вам нужно.
Используя 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.
Чтобы скрыть все точечные файлы / каталоги на диске (а не в одном каталоге), я считаю, что этот ответ лучше всего работает:
ATTRIB +H /s /d C:\.*