2011-10-12 15 views
20

estoy utilizando a continuación el método para obtener los nombres de los archivos ..cómo obtener sólo los nombres de archivo desde el directorio, no todo el recorrido

pero vuelve todo el camino .... ahora yo no quiero para obtener el ruta completa ..

quiero sólo los nombres de archivo de todo el recorrido ...

¿Cómo puedo conseguir que sólo los nombres de archivo no todo el camino

path = c: \ documentos \ doc \ backup -23444444.zip

string[] filenames = Directory.GetFiles(targetdirectory,"backup-*.zip"); 
    foreach (string filename in filenames) 
    { } 

sería cualquier pls ayuda en esto .....

Muchas gracias ...

Respuesta

42

se puede utilizar el método de GetFileName extraer sólo el nombre del archivo sin una ruta:

string filenameWithoutPath = Path.GetFileName(filename); 
+0

tengo gran cantidad de archivos con mismo tipo ¿Cómo puedo obtener la lista de archivos que nombres de archivo sólo contiene ese nombre de archivo –

2

intento Path.GetFileName (nombre de archivo) método

9

System.IO.Path es tu amigo aquí:

var filenames = from fullFilename 
       in Directory.EnumerateFiles(targetdirectory,"backup-*.zip") 
       select Path.GetFileName(fullFilename); 

foreach (string filename in filenames) 
{ 
    // ... 
} 
+0

lo que tengo que poner en este lugar FullFilename ¿Tengo que dar –

+0

Mi ejemplo de código es una reemplazo de tu codigo Simplemente reemplace los puntos-puntos-puntos con los detalles de su implementación. –

1
You can use this, it will give you all file's name without Extension 

    List<string> lstAllFileName = (from itemFile in dir.GetFiles() 
               select Path.GetFileNameWithoutExtension(itemFile.FullName)).Cast<string>().ToList(); 
Cuestiones relacionadas