Réponses:
Après quelques problèmes (la commande attrib n'autorise pas certains caractères génériques), j'ai trouvé cette ligne:
@for %%X in (.*.*) do attrib +h %%X
Il suffit de lui mettre un fichier batch (.bat) et il fait l'affaire (pour ce répertoire).
Si vous le souhaitez pour quelques directoires, réglez-le simplement pour qu'il s'exécute une fois par jour sur ces répertoires.
J'espère que c'est ce dont vous avez besoin.
En utilisant Powershell, enregistrez les éléments suivants dans un fichier de script (par exemple hidedotfiles.ps1) et exécutez-le chaque fois que vous ne souhaitez pas masquer les fichiers de points.
Bien sûr, le one-liner suivant peut être simplifié en utilisant des alias et "-f pour" -force "et" -r "pour" -recurse "mais pour être instructif, je l'ai écrit en pleine forme:
Get-ChildItem "C:\" -recurse -force | Where-Object {$_.name -like ".*" -and $_.attributes -match 'Hidden' -eq $false} | Set-ItemProperty -name Attributes -value ([System.IO.FileAttributes]::Hidden)
Fondamentalement, Get-ChildItem -recurse -force récupère tous les éléments et effectue une recherche récursivement dans tous les dossiers, forçant les éléments masqués à apparaître. Ensuite, nous recherchons les fichiers et les dossiers qui commencent par le point et sélectionnons uniquement les fichiers qui ont un attribut masqué. Après avoir répertorié tous les fichiers, nous définissons leurs attributs sur masqués à l'aide de Set-ItemProperty.
Where-Object
et Set-ItemProperty
est inutile. Cela peut tout aussi bien se faire comme Get-ChildItem ".*" -Recurse -Force | ForEach-Object { $_.Attributes += "Hidden" }
.
Pour masquer tous les fichiers / répertoires de points sur un disque (plutôt que dans un seul répertoire), je trouve que cette réponse fonctionne mieux:
ATTRIB +H /s /d C:\.*
@for /d %%X in (.*.*) do attrib +h %%X