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 ?
Réponses
Trop de publicités?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 ).
Simple :
Dans l'explorateur Windows
- Cliquez avec le bouton droit de la souris sur l'icône
.folder
que vous voulez cacher ; - Cliquez sur
properties
puis cliquez sur le boutongeneral
tabulation ; - 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.
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.
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);
}
}
- Réponses précédentes
- Plus de réponses