Скрыть файлы точек в Windows

26

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

mgbowen
источник

Ответы:

19

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

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

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

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

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

Krazy_Kaos
источник
5
Если вы хотите сделать каталоги, добавьте вторую строку@for /d %%X in (.*.*) do attrib +h %%X
Brian B
Вы можете запустить его непосредственно из cmd, просто перейдите в нужную папку cd и затем запустить без двойных процентов, только один:> @for / D% X in (. *) Do attrib + h% X
Sergio Abreu
лучший ответ, который я нашел
Роберто Томас
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.

mu7z
источник
1
И то, Where-Objectи другое Set-ItemPropertyне нужно. С таким же успехом это можно сделать как Get-ChildItem ".*" -Recurse -Force | ForEach-Object { $_.Attributes += "Hidden" }.
Том А. Вибето
4

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

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

BungleFeet
источник