J'ai une commande comme ci-dessous. Je trouve si j'utilise un modèle de fichier de *. CSV code> Il ramasse également des éléments avec un
.csvx code> extension. Peut-être que c'est un retour à la 8.3 Days de nom de fichier - Tout le monde connaît un moyen qui les retournerait correctement, de préférence sans rouler notre propre?
files = (from file in Directory.EnumerateFiles(sourceFolder, filePattern, SearchOption.TopDirectoryOnly) select file).ToList();
4 Réponses :
juste une solution de contournement mais pourrait être assez bon:
var files = Directory .EnumerateFiles(sourceFolder, filePattern, SearchOption.TopDirectoryOnly) .Where(f => f.EndsWith(".csv")) .ToList();
Merci. J'avais cet état de contournement à l'esprit, mais cela rend plus complexe pour que l'utilisateur spécifie un modèle lorsque l'appelait la fonction (c'est-à-dire qu'il est plus codé dur). Acclamations!
Vous pouvez essayer quelque chose comme ceci:
Merci xtian - c'est comme je craignais!
Vous pouvez également utiliser la propriété "Extension"
var files = new DirectoryInfo(path).GetFiles("*.csv").Where((info) => info.Extension = ".csv")
Oui, merci pour ça. N'est toujours pas correctement implémenter l'idée de modèle . I>, mais il est prévu par le son de celui-ci. à votre santé
Ce comportement est par conception: p>
Parce que cette méthode vérifie les noms de fichiers avec le fichier 8.3 Format de nom et le format de nom de fichier long, un modèle de recherche similaire à " 1 em> .txt" peut renvoyer des noms de fichiers inattendus. Par exemple, en utilisant un modèle de recherche de " 1 em> .txt" renvoie "longfilename.txt" parce que le Equivalent 8.3 Format de nom de fichier est "longfi ~ 1.txt". P> blockQuote>
Vous devrez utiliser l'une des solutions de contournement. P>
Source: http://msdn.microsoft.com/en-us/ Bibliothèque / WZ42302F.ASPX P>
Merci Arnold, très apprécié.
Ajoutez le FilePattern, juste pour être complet.
Et il n'ya pas de point dans la combinaison de
tolist () code> avec
énumérerFiles () code>
@HENK "Je trouve si j'utilise un modèle de fichier de
*. CSV code> Il récupère également des éléments avec un
.csvx code>"
La touche 8.3 sonne plausible, car le nom 8.3 correspondant à un
*. CSVX code> correspondrait effectivement au modèle
*. CSV code> motif.
@CodeIgn je préférerais le voir avec le
" code> dans un bloc de code.