2009-07-29 13 views
60

estoy usando:archivo existe por el patrón de nombre de archivo

File.Exists(filepath) 

Lo que me gustaría hacer es swop esto para un patrón, ya que la primera parte de los cambios de nombre de archivo.

Por ejemplo: el archivo podría ser

01_peach.xml 
02_peach.xml 
03_peach.xml 

¿Cómo puedo comprobar si el archivo existe basado en algún tipo de patrón de búsqueda?

Respuesta

98

Usted puede hacer una lista de directorios con un patrón para comprobar si hay archivos

string[] files = System.IO.Directory.GetFiles(path, "*_peach.xml", System.IO.SearchOption.TopDirectoryOnly); 
if (files.Length > 0) 
{ 
    //file exist 
} 
49

Si está utilizando .NET Framework 4 o superior se podría utilizar Directory.EnumerateFiles

bool exist = Directory.EnumerateFiles(path, "*_peach.xml").Any(); 

Esto podría ser más eficiente que el uso Directory.GetFiles ya que evita la iteración Trough toda la lista de archivos .

+0

Su versión de código hace lo mismo, pero oculta. No hay forma de obtener todos los archivos que coincidan con el patrón simplemente de la nada. – Kostadin

+0

@Kostadin: se ha perdido para responder esto antes ... él no quiere obtener todos los archivos que coincidan con un patrón, él quiere saber si hay CUALQUIER –

Cuestiones relacionadas