Respuestas:
Después de algunos problemas (el comando attrib no permite algunos comodines) se me ocurrió esta línea:
@for %%X in (.*.*) do attrib +h %%X
Simplemente póngalo en un archivo por lotes (.bat) y hace el truco (para ese directorio).
Si desea esto para algunas directivas, simplemente configúrelo para que se ejecute una vez al día en esos directorios.
Espero que esto sea lo que necesitas.
Utilizando Powershell, guarde lo siguiente en un archivo de script (por ejemplo, hidedotfiles.ps1) y ejecútelo siempre que desee ocultar archivos de puntos.
Por supuesto, la siguiente línea puede simplificarse mediante el uso de alias y "-f para" -force "y" -r "para" -recurse ", pero para ser instructivo, lo he escrito en su forma completa:
Get-ChildItem "C:\" -recurse -force | Where-Object {$_.name -like ".*" -and $_.attributes -match 'Hidden' -eq $false} | Set-ItemProperty -name Attributes -value ([System.IO.FileAttributes]::Hidden)
Básicamente, Get-ChildItem -recurse -force obtiene todos los elementos y busca recurrentemente en todas las carpetas obligando a los elementos ocultos a aparecer. Luego buscamos archivos y carpetas que comienzan con el punto y seleccionamos solo los archivos que tienen un atributo oculto. Después de haber enumerado todos los archivos, configuramos sus atributos como ocultos mediante Set-ItemProperty.
Where-Object
y Set-ItemProperty
es innecesario. También puede hacerse así Get-ChildItem ".*" -Recurse -Force | ForEach-Object { $_.Attributes += "Hidden" }
.
Para ocultar todos los archivos / directorios de puntos en un disco (en lugar de en un solo directorio), creo que esta respuesta funciona mejor:
ATTRIB +H /s /d C:\.*
@for /d %%X in (.*.*) do attrib +h %%X