50 votes

Masquer les fichiers/dossiers commençant par un point

Windows n'utilise pas la fonction fichier-point convention pour les fichiers cachés. Cependant, de nombreuses applications Windows (principalement opensource/cross-platform) utilisent des fichiers et des dossiers avec cette convention. Comment puis-je faire en sorte que l'Explorateur Windows cache automatiquement ces fichiers à points ?

38voto

Luke Dennis Points 4805

ATTRIB +H /s /d C:\.* est la commande pour cacher tout, y compris les répertoires commençant par un point

Cette opération ne listera pas les fichiers (comme indiqué ci-dessous), mais trouvera chaque fichier auquel il peut accéder et appliquera l'attribut Hidden (caché).

Une fois cette opération effectuée, vous pouvez vous assurer que les options du dossier sont réglées de manière à masquer les fichiers cachés. Cliquez sur Démarrage , type folder options et appuyez sur Enter . Cliquez sur l'icône Voir Sélectionnez ensuite l'onglet Ne pas afficher les fichiers, dossiers ou lecteurs cachés sous Fichiers et dossiers \ Fichiers et dossiers cachés . Frapper Appliquer alors OK (ou simplement OK ).

12voto

Fred Points 221

Simple :

Dans l'explorateur Windows

  1. Cliquez avec le bouton droit de la souris sur l'icône .folder que vous voulez cacher ;
  2. Cliquez sur properties puis cliquez sur le bouton general tabulation ;
  3. Cliquez sur hidden .

Fait.

PS Seulement vérifié sur Windows 7 Professionnel. PPS J'ai remarqué que votre question demandait de faire cela automatiquement. Il est clair que cela ne suffira pas, mais peut-être que les lecteurs trouveront cela utile.

3voto

Thad Points 725

Windows masque les fichiers avec l'option oculto o système drapeau. Les fichiers peuvent également être cachés à l'aide de l'ACL. Windows ne cache pas les fichiers en fonction de leur nom.

Pour que Windows puisse explicitement masquer les fichiers en fonction de leur nom, vous devez créer explicitement cette fonctionnalité. Dans ce cas, un pilote de système de fichiers (il était courant que les virus aient cette "fonction") ou une extension Shell fonctionneront.

En effet, pour Explorer, un fichier qui commence par un point est un fichier avec une extension, mais sans nom.

3voto

Mike Points 11

C'est possible en C#, en utilisant System.IO.FileSystemWatcher. Le code serait à peu près le suivant. Il suffit de le compiler et de le placer dans le dossier de démarrage. Mais ce code ne cache pas les fichiers déjà existants. Il faut donc exécuter d'abord le code de Luke, puis ce code. Vous avez besoin des permissions System.IO et System.Security.

    [PermissionSet(SecurityAction.Demand, Name = "FullTrust")]
    public static void Run()
    {
        FileSystemWatcher watcher = new FileSystemWatcher();
        watcher.Path = "C:\\";
        watcher.IncludeSubdirectories = true;
        watcher.Filter = "*.*";
        watcher.Renamed += new RenamedEventHandler(OnRenamed);
        watcher.Created += new FileSystemEventHandler(watcher_Created);
        watcher.NotifyFilter = NotifyFilters.LastAccess | NotifyFilters.LastWrite | NotifyFilters.FileName | NotifyFilters.DirectoryName;
        watcher.EnableRaisingEvents = true;
        Console.WriteLine("Started...");
        while (true) ;
    }
    static void Check(string filename)
    {
        string name = Path.GetFileName(filename);
        if (name.StartsWith(".") && !File.GetAttributes(filename).HasFlag(FileAttributes.Hidden))
        {
            File.SetAttributes(filename, File.GetAttributes(filename) | FileAttributes.Hidden);
        }
    }
    static void watcher_Created(object sender, FileSystemEventArgs e)
    {
        Check(e.FullPath);
    }
    private static void OnRenamed(object source, RenamedEventArgs e)
    {
        Check(e.FullPath);
    }
}

1voto

mauvedeity Points 755

Je ne pense pas qu'il existe un moyen de le faire automatiquement, mais vous pouvez essayer d'utiliser la commande ATTRIB pour masquer ces fichiers :

ATTRIB +H

Assurez-vous ensuite que vous avez configuré l'Explorateur pour qu'il n'affiche pas les fichiers cachés.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X