Есть ли способ, чтобы Windows автоматически скрывала любой файл с префиксом (например, ".svn"), как это делается в Linux?
26
После некоторых проблем (команда attrib не позволяет использовать некоторые символы подстановки), я получил следующую строку:
@for %%X in (.*.*) do attrib +h %%X
Просто поместите его в пакетный файл (.bat), и он сделает свое дело (для этого каталога).
Если вы хотите это для нескольких директорий, просто установите его запускать один раз в день в этих каталогах.
Надеюсь, это то, что вам нужно.
@for /d %%X in (.*.*) do attrib +h %%X
Используя Powershell, сохраните следующее в файле сценария (например, hidedotfiles.ps1) и запускайте его всякий раз, когда вы не хотите скрывать точечные файлы.
Конечно, следующую однострочную строку можно упростить, используя псевдонимы и "-f" для "-force" и "-r" для "-recurse", но чтобы быть поучительным, я выписал это в полной форме:
По сути, Get-ChildItem -recurse -force получает все элементы и выполняет поиск во всех папках, заставляя скрытые элементы отображаться. Затем мы ищем файлы и папки, которые начинаются с точки, и выбираем только те файлы, которые имеют скрытый атрибут. После того, как мы перечислили все файлы, мы устанавливаем их атрибуты скрытыми, используя Set-ItemProperty.
источник
Where-Object
и другоеSet-ItemProperty
не нужно. С таким же успехом это можно сделать какGet-ChildItem ".*" -Recurse -Force | ForEach-Object { $_.Attributes += "Hidden" }
.Чтобы скрыть все точечные файлы / каталоги на диске (а не в одном каталоге), я считаю, что этот ответ лучше всего работает:
источник