フォルダの中のファイルをすべて取得する

サンプルコード

Sub Main()
  Dim dir As String = "C:\"
 
  'とりあえず全てのファイルを取得①
  For Each filename As String In System.IO.Directory.GetFiles(dir)
    Console.WriteLine(filename)
  Next
 
  '軽い正規表現でファイルを取得②
  For Each filename As String In System.IO.Directory.GetFiles(dir, "t*.xml")
    Console.WriteLine(filename)
  Next
 
  '正規表現を使用してファイルを取得③
  For Each filename As String In From C As String In IO.Directory.GetFiles(dir) _
                                 Where Regex.IsMatch(C, "sample-[0-9]{3}¥.xml$") = True
    Console.WriteLine(filename)
  Next
End Sub

①ではすべてのファイルが取得できる

②ではパスのいずれかに't'を含むxmlファイルが取得できる

③では完全に正規表現を使用することができるため、②に比べると細かい条件でファイルの取得ができる


フォルダ内のフォルダを取得する

サンプルコード

Sub Main()
  Dim dir As String = "C:\"
  For Each dirname As String In System.IO.Directory.GetDirectories(dir)
    Console.WriteLine(dirname)
  Next
End Sub

フォルダ内のファイルとフォルダを取得する

サンプルコード

Sub Main()
  Dim dir As String = "C:\"
 For Each dirname As String In System.IO.Directory.GetFileSystemEntries(dir)
    Console.WriteLine(dirname)
  Next
End Sub