[Tips][フォルダー操作] 指定したフォルダー内のファイルを取得する

指定したフォルダー内にあるファイルを取得するにはDirectoryクラスGetFilesメソッドを使用します。

GetFilesメソッドの第1引数にはファイルを取得したいフォルダーのパスを渡します。

第1引数のみを指定した場合には、指定したフォルダー内のファイルを取得することができます。

VB版 指定したフォルダー内のファイルを取得する例

Dim targetDir As String = "C:\Work"

'C:\Workにあるファイルを取得する
Dim strFiles() As String = IO.Directory.GetFiles(targetDir)

C#版 指定したフォルダー内のファイルを取得する例

string targetDir = @"C:\Work";

// C:\Workにあるファイルを取得する
string[] strFiles = System.IO.Directory.GetFiles(targetDir);

GetFilesメソッドは拡張子を指定してファイルを取得することもできます。

この場合は、第1引数にはファイルを取得するフォルダーのパスを、第2引数には検索パターン(取得したいファイルの拡張子。例えば”*.txt”)を渡します。

VB版 指定したフォルダーで拡張子を指定してファイルを取得する例

Dim targetDir As String = "C:\Work"

'C\Workにあるテキストファイルを取得する
Dim strTxtFiles() As String = IO.Directory.GetFiles(targetDir, "*.txt")

C#版 指定したフォルダーで拡張子を指定してファイルを取得する例

string targetDir = @"C:\Work";

// C\Workにあるテキストファイルを取得する
string[] strTxtFiles = System.IO.Directory.GetFiles(targetDir, "*.txt");

ここまでに紹介した例では、GetFilesメソッドは指定したフォルダーにあるファイルだけを返し、サブフォルダー以下にあるファイルは取得することができません。

サブフォルダー以下にあるファイルも取得したい場合は、第3引数に検索オプション(SearchOption列挙体)を渡す必要があります。

下記は、検索オプションションを指定して、指定したフォルダーとその中にあるサブフォルダーからファイルを取得する例です。

VB版 検索オプションを指定してファイルを取得する例

Dim targetDir As String = "C:\Work"

'C:\Workとその中のすべてのサブフォルダーにあるファイルを取得する
Dim strAllFiles() As String = IO.Directory.GetFiles(targetDir, "*.*", System.IO.SearchOption.AllDirectories)

C#版 検索オプションを指定してファイルを取得する例

string targetDir = @"C:\Work";

// C:\Workとその中のすべてのサブフォルダーにあるファイルを取得する
string[] strAllFiles = System.IO.Directory.GetFiles(targetDir, "*.*", System.IO.SearchOption.AllDirectories);

“[Tips][フォルダー操作] 指定したフォルダー内のファイルを取得する” への1件の返信

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です