Obtener todos los nombres de archivo en un directorio en C#

Muhammad Maisam Abbas 11 diciembre 2023
  1. Obtenga todos los nombres de archivo en un directorio con el método Directory.GetFiles() en C#
  2. Obtenga todos los nombres de archivo en un directorio con el método DirectoryInfo.GetFiles() en C#
Obtener todos los nombres de archivo en un directorio en C#

Este tutorial discutirá los métodos para obtener los nombres de archivo de todos los archivos dentro de un directorio específico en C#.

Obtenga todos los nombres de archivo en un directorio con el método Directory.GetFiles() en C#

El método Directory.GetFiles() en C# obtiene los nombres de todos los archivos dentro de un directorio específico. El método Directory.GetFiles() devuelve un array de cadenas que contiene las rutas absolutas de todos los archivos dentro del directorio especificado en los parámetros del método. Vea el siguiente ejemplo.

using System;
using System.IO;

namespace get_all_files {
  class Program {
    static void Main(string[] args) {
      string[] files = Directory.GetFiles(@"C:\File", "*.txt");
      foreach (var file in files) {
        Console.WriteLine(file);
      }
    }
  }
}

Producción :

C:\File\file.txt
C:\File\file1.txt

En el código anterior, extrajimos los nombres de todos los archivos con extensión .txt dentro del directorio C:\File con el método Directory.GetFiles() en C#.

El método Directory.GetFiles() se puede utilizar para varios propósitos. Por ejemplo, el siguiente ejemplo de código nos da todos los nombres de los archivos independientemente de su extensión de archivo en C#.

using System;
using System.IO;

namespace get_all_files {
  class Program {
    static void Main(string[] args) {
      string[] files = Directory.GetFiles(@"C:\File");
      foreach (var file in files) {
        Console.WriteLine(file);
      }
    }
  }
}

Producción :

C:\File\file.txt
C:\File\file1.txt
C:\File\readme.md

También podemos obtener los nombres de todos los archivos incluidos en cualquier subdirectorio con el método Directory.GetFiles(). Vea el siguiente ejemplo.

using System;
using System.IO;

namespace get_all_files {
  class Program {
    static void Main(string[] args) {
      string[] files = Directory.GetFiles(@"C:\File", "*.txt", SearchOption.AllDirectories);
      foreach (var file in files) {
        Console.WriteLine(file);
      }
    }
  }
}

Producción :

C:\File\file.txt
C:\File\file1.txt
C:\File\subFile\file3.txt
C:\File\subFile\file4.txt

En el código anterior, extrajimos los nombres de todos los archivos con la extensión .txt en todos los subdirectorios del directorio C:\File con el método Directory.GetFiles() en C#.

Obtenga todos los nombres de archivo en un directorio con el método DirectoryInfo.GetFiles() en C#

El método DirectoryInfo.GetFiles() obtiene los archivos dentro de un directorio especificado en C#. El método DirectoryInfo.GetFiles() devuelve un array de objetos de la clase FileInfo que contienen información sobre todos los archivos en el directorio especificado dentro de los parámetros del método. Podemos obtener los nombres de los archivos con la propiedad FileInfo.Name. El siguiente ejemplo de código nos muestra cómo podemos obtener los nombres de los archivos dentro de un directorio específico con el método DirectoryInfo.GetFiles() en C#.

using System;
using System.IO;

namespace get_all_files {
  class Program {
    static void Main(string[] args) {
      DirectoryInfo di = new DirectoryInfo(@"C:\File");
      FileInfo[] files = di.GetFiles("*.txt");
      string str = "";
      foreach (FileInfo file in files) {
        Console.WriteLine(file.Name);
      }
    }
  }
}

Producción :

file.txt
file1.txt

En el código anterior, extrajimos los nombres de todos los archivos con extensión .txt dentro del directorio C:\File con el método DirectoryInfo.GetFiles() en C#. También podemos usar el parámetro SearchOption.AllDirectories dentro del método DirectoryInfo.GetFiles() para obtener los nombres de todos los archivos en todos los subdirectorios. Mientras tanto, también podemos obtener todos los nombres de los archivos independientemente de sus extensiones de archivo al no especificar ninguna extensión de archivo en el método DirectoryInfo.GetFiles(). La única diferencia entre el enfoque anterior y este enfoque es que el método Directory.GetFiles() nos da las rutas absolutas completas de los archivos. Por el contrario, el método DirectoryInfo.GetFiles() nos da sólo los nombres de todos los archivos.

Muhammad Maisam Abbas avatar Muhammad Maisam Abbas avatar

Maisam is a highly skilled and motivated Data Scientist. He has over 4 years of experience with Python programming language. He loves solving complex problems and sharing his results on the internet.

LinkedIn

Artículo relacionado - Csharp File