Risposte:
Dopo alcuni problemi (il comando attrib non consente alcuni caratteri jolly) ho trovato questa riga:
@for %%X in (.*.*) do attrib +h %%X
Basta metterlo in un file batch (.bat) e fa il trucco (per quella directory).
Se vuoi questo per alcune directory, basta impostarlo per l'esecuzione una volta al giorno su quelle directory.
Spero che questo sia ciò di cui hai bisogno.
Utilizzando Powershell, salvare quanto segue in un file di script (ad es. Hidedotfiles.ps1) ed eseguirlo ogni volta che non si desidera nascondere i file di punti.
Naturalmente il seguente one-liner può essere semplificato usando gli alias e "-f per" -force "e" -r "per" -recurse "ma per essere istruttivo l'ho scritto per intero:
Get-ChildItem "C:\" -recurse -force | Where-Object {$_.name -like ".*" -and $_.attributes -match 'Hidden' -eq $false} | Set-ItemProperty -name Attributes -value ([System.IO.FileAttributes]::Hidden)
Fondamentalmente Get-ChildItem -recurse -force ottiene tutti gli elementi e cerca ricorsivamente in tutte le cartelle forzando la visualizzazione degli elementi nascosti. Quindi cerchiamo file e cartelle che iniziano con il punto e selezioniamo solo i file che hanno un attributo nascosto. Dopo aver elencato tutti i file, abbiamo impostato i loro attributi su hidden usando Set-ItemProperty.
Where-Object
ed Set-ItemProperty
è inutile. Può anche essere fatto come Get-ChildItem ".*" -Recurse -Force | ForEach-Object { $_.Attributes += "Hidden" }
.
Per nascondere tutti i file / directory di punti su un disco (anziché in una singola directory), trovo che questa risposta funzioni meglio:
ATTRIB +H /s /d C:\.*
@for /d %%X in (.*.*) do attrib +h %%X