Masquer les fichiers dot dans Windows

26

Existe-t-il un moyen pour que Windows masque automatiquement tout fichier qui est préfixé par un point (par exemple ".svn"), comme cela se fait sous Linux?

mgbowen
la source

Réponses:

19

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.

Krazy_Kaos
la source
5
Si vous voulez faire des répertoires, ajoutez une deuxième ligne@for /d %%X in (.*.*) do attrib +h %%X
Brian B
Vous pouvez l'exécuter directement à partir de cmd, juste un cd vers le dossier parent que vous souhaitez, puis l'exécuter sans double pourcentage, un seul:> @for / D% X in (. *) Do attrib + h% X
Sergio Abreu
meilleure réponse que j'ai trouvée
roberto tomás
6

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.

mu7z
la source
1
Les deux Where-Objectet Set-ItemPropertyest inutile. Cela peut tout aussi bien se faire comme Get-ChildItem ".*" -Recurse -Force | ForEach-Object { $_.Attributes += "Hidden" }.
Tom A. Vibeto
4

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:\.*

BungleFeet
la source