VB.NET ファイルの一覧を取得するサンプル

VB.NETのファイルの一覧を取得するサンプルです。

目次

サンプル GetFilesメソッド
  EnumerateFilesメソッド

GetFilesメソッド

Public Shared Function GetFiles(path As String, searchPattern As String, searchOption As SearchOption) As String()
  • パスを含むファイル名を配列で取得します。
  • 1つめの引数は、パスを指定します。
  • 2つめの引数は、ファイル名の指定ができます。アスタリスク(*)とワイルドカード(?)に対応しています。アスタリスクを指定すると全ファイルになります。
  • 3つめの引数は、サブディレクトリを含めるかを指定できます。
  • 以下は、MicrosoftのDirectory.GetFilesメソッドのリンクです。
    https://docs.microsoft.com/ja-jp/dotnet/api/system.io.directory.getfiles?view=netcore-3.1
SearchOptionの値
AllDirectories 現在のフォルダとサブフォルダも含める
TopDirectoryOnly 現在のフォルダのみ

GetFilesメソッドのサンプルです。

Module Module1
	Sub Main()
		Dim path1 As String = "D:\Test1"
		Dim filename() As String

		Try
			filename = System.IO.Directory.GetFiles _
			(path1, "*.csv", System.IO.SearchOption.AllDirectories)

			For Each a As String In filename
				Console.WriteLine(a)
			Next
		Catch e As Exception
			Console.WriteLine(e.Message)
		End Try
	End Sub
End Module

7行目は、GetFilesメソッドです。
8行目の2つめの引数は*.csvで拡張子がcsvのファイルのみ取得します。
3つめの引数は、AllDirectoriesでサブフォルダまで検索します。

結果は、以下です。
D:\Test1\test1.csv
D:\Test1\test2.csv
D:\Test1\test2\test3.csv

EnumerateFilesメソッド

Public Shared Function EnumerateFiles (path As String, searchPattern As String, searchOption As SearchOption) As IEnumerable(Of String)
SearchOptionの値
AllDirectories 現在のフォルダとサブフォルダも含める
TopDirectoryOnly 現在のフォルダのみ

EnumerateFilesメソッドのサンプルです。

Module Module1
	Sub Main()
		Dim path1 As String = "D:\Test1"
		Dim filename As IEnumerable(Of String)
		Dim filename2() As String = Nothing

		Try
			filename = System.IO.Directory.EnumerateFiles _
			(path1, "*.csv", System.IO.SearchOption.AllDirectories)

			For i = 0 To filename.Count - 1
				Console.WriteLine(filename(i))
				ReDim Preserve filename2(i)
				filename2(i) = filename(i)
			Next

			For Each b As String In filename2
				Console.WriteLine(b)
			Next
		Catch e As Exception
			Console.WriteLine(e.Message)
		End Try
	End Sub
End Module

8行目は、EnumerateFilesメソッドです。
9行目の2つめの引数は*.csvで拡張子がcsvのファイルのみ取得します。
3つめの引数は、AllDirectoriesでサブフォルダまで検索します。
14行目は、EnumerateFilesメソッドで取得した値をString型の配列にセットしています。

結果は、以下の文字列です。3つめは、サブフォルダにあるファイルを表示しています。
D:\Test1\test1.csv
D:\Test1\test2.csv
D:\Test1\test2\test3.csv

関連の記事

VB.NET ファイル操作のサンプル(存在/移動/削除他)
VB.NET フォルダの作成/削除等のサンプル

△上に戻る