C# のフォルダ内のすべてのファイル名を取得する

Muhammad Maisam Abbas 2024年2月16日
  1. C# の Directory.GetFiles() メソッドを使用して、フォルダ内のすべてのファイル名を取得する
  2. C# の DirectoryInfo.GetFiles() メソッドを使用して、フォルダ内のすべてのファイル名を取得する
C# のフォルダ内のすべてのファイル名を取得する

このチュートリアルでは、C# の特定のフォルダ内にあるすべてのファイルのファイル名を取得する方法について説明します。

C# の Directory.GetFiles() メソッドを使用して、フォルダ内のすべてのファイル名を取得する

C# の Directory.GetFiles() メソッドは、特定のフォルダ内のすべてのファイルの名前を取得します。Directory.GetFiles() メソッドは、メソッドパラメータで指定されたフォルダ内のすべてのファイルの絶対パスを含む文字列の配列を返します。次の例を参照してください。

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);
      }
    }
  }
}

出力:

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

上記のコードでは、C# の Directory.GetFiles() メソッドを使用して、フォルダ C:\File 内に .txt 拡張子を持つすべてのファイルの名前を抽出しました。

Directory.GetFiles() メソッドは、さまざまな目的に使用できます。たとえば、次のコード例では、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);
      }
    }
  }
}

出力:

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

Directory.GetFiles() メソッドを使用して、サブフォルダに含まれるすべてのファイルのファイル名を取得することもできます。次の例を参照してください。

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);
      }
    }
  }
}

出力:

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

上記のコードでは、C# の Directory.GetFiles() メソッドを使用して、C:\File フォルダのすべてのサブフォルダにある .txt 拡張子の付いたすべてのファイルのファイル名を抽出しました。

C# の DirectoryInfo.GetFiles() メソッドを使用して、フォルダ内のすべてのファイル名を取得する

DirectoryInfo.GetFiles() メソッドは、C# の指定されたフォルダ内のファイルを取得します。DirectoryInfo.GetFiles() メソッドは、メソッドパラメータ内で指定されたフォルダ内のすべてのファイルに関する情報を含む FileInfo クラスオブジェクトの配列を返します。FileInfo.Name プロパティを使用してファイルの名前を取得できます。次のコード例は、C# の DirectoryInfo.GetFiles() メソッドを使用して、指定したフォルダ内のファイルのファイル名を取得する方法を示しています。

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);
      }
    }
  }
}

出力:

file.txt
file1.txt

上記のコードでは、C# の DirectoryInfo.GetFiles() メソッドを使用して、C:\File フォルダ内の .txt 拡張子を持つすべてのファイルのファイル名を抽出しました。DirectoryInfo.GetFiles() メソッド内の SearchOption.AllDirectories パラメーターを使用して、すべてのサブフォルダ内のすべてのファイルの名前を取得することもできます。一方、DirectoryInfo.GetFiles() メソッドでファイル拡張子を指定しないことにより、ファイル拡張子に関係なくすべてのファイルの名前を取得することもできます。以前のアプローチとこのアプローチの唯一の違いは、Directory.GetFiles() メソッドがファイルの完全な絶対パスを提供することです。対照的に、DirectoryInfo.GetFiles() メソッドはすべてのファイルの名前のみを提供します。

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

関連記事 - Csharp File