Esta publicación discutirá cómo enumerar todos los archivos en un directorio en C#.

1. Usando Directory.GetFiles() método

Puedes usar el Directory.GetFiles() método para obtener la lista de archivos en el directorio especificado. Toma la ruta relativa o absoluta del directorio para buscar y devuelve una matriz de cadenas que contiene los nombres de los archivos (incluidas sus rutas) en el directorio especificado, sin un orden fijo.

Descargar Código

 
los Directory.GetFiles() El método está sobrecargado para aceptar el patrón de búsqueda para que coincida con los archivos en el directorio especificado. Por ejemplo, el siguiente código enumerará todos los archivos en el directorio especificado con el .jpg extensión.

Descargar Código

 
Por defecto, el Directory.GetFiles() El método realiza la búsqueda solo en el directorio actual. Para extender la operación de búsqueda para incluir todos sus subdirectorios, puede proporcionar el SearchOption.AllDirectories opción como el tercer parámetro. Por ejemplo, el siguiente código enumerará todos los archivos presentes en el directorio especificado y todos sus subdirectorios con cualquier extensión (asterisco (*) coincide con cualquier tipo de archivo).

Descargar Código

 
Si necesita obtener los nombres de todos los archivos junto con todos los nombres de todos sus subdirectorios, considere usar el Directory.GetFileSystemEntries método en su lugar. Por ejemplo, el siguiente código enumerará recursivamente todos los archivos y subdirectorios presentes en el directorio especificado con cualquier extensión.

Descargar Código

2. Usando DirectoryInfo.GetFiles() método

Como alternativa, puede utilizar el DirectoryInfo.GetFiles() método para devolver una lista de archivos en el directorio actual. Aquí hay un código de trabajo:

Descargar Código

 
Como el Directory.GetFiles(), la DirectoryInfo.GetFiles() El método está sobrecargado para aceptar el patrón de búsqueda. El siguiente ejemplo devolverá todos los archivos en el directorio especificado con el .png extensión.

Descargar Código

 
Puede extender la operación de búsqueda a todos los subdirectorios especificando el SearchOption.AllDirectories opción. El siguiente código enumerará todos los archivos en el directorio especificado y todos sus subdirectorios.

Descargar Código

3. Rutina personalizada

Finalmente, puede incluso escribir su rutina personalizada para ampliar la búsqueda e incluir todos los subdirectorios del directorio de origen, sin tener que utilizar el SearchOption.AllDirectories opción en el Directory.GetFiles() método. La idea es iterar sobre los archivos en el directorio actual y procesarlos. Si el directorio contiene subdirectorios, haga esto recursivamente.

Descargar Código

Se trata de listar todos los archivos en un directorio en C#.