Directory.GetFiles()
renvoie tous les fichiers, même ceux qui sont marqués comme cachés. Existe-t-il un moyen d'obtenir une liste de fichiers excluant les fichiers cachés?
Réponses
Trop de publicités?En utilisant .NET 4.0 et Directory.EnumerateDirectories, vous pouvez utiliser cette construction:
var hiddenFilesQuery = from file in Directory.EnumerateDirectories(@"c:\temp")
let info = new FileInfo(file)
where (info.Attributes & FileAttributes.Hidden) == 0
select file;
C'est fondamentalement la même chose que l'autre réponse, sauf que Directory.EnumerateDirectories est un peu plus paresseux. Ce n'est cependant pas très utile si vous énumérez tout.
(La let est ici pour que la requête soit plus lisible).
si utilisation utiliser:
var filtered = files.Select(f => f)
.Where(f => (f.Attributes & FileAttributes.Hidden) == 0);
ceci ne trouve aucun fichier caché, vous pouvez donc utiliser:
var filtered = files.Select(f => f)
.Where(f => (f.Attributes & FileAttributes.Hidden) == FileAttributes.Hidden);
c'est seulement pour lire le fichier caché