ここではSystem.IO.Directoryクラスによるファイルの操作を紹介します。

System.IO.Directoryクラスの使用例

カレントディレクトリを取得する(GetCurrentDirectoryメソッド)

アプリケーションの現在の作業ディレクトリを取得します。

Dim path As String = System.IO.Directory.GetCurrentDirectory()

Console.WriteLine(path)


フォルダの存在を確認する(Existsメソッド)

If System.IO.Directory.Exists("C:\temp") Then
    Console.WriteLine("存在する")
Else
    Console.WriteLine("存在しない")
End If


フォルダ内のファイル名を取得する(GetFilesメソッド)

2番目の引数は検索パターンを指定します。*を指定すると全ファイルになります。
3番目の引数はサブフォルダを含めるかを指定できます。

' 拡張子がtxtのファイルを取得する
For Each path As String In System.IO.Directory.GetFiles("C:\temp", "*.txt")
    Console.WriteLine(path)
Next

' サブフォルダを含めてファイルを取得する
For Each path As String In System.IO.Directory.GetFiles("C:\temp", "*.txt", System.IO.SearchOption.AllDirectories)
    Console.WriteLine(path)
Next


フォルダ内のサブフォルダを取得する(GetDirectoriesメソッド)

For Each path As String In System.IO.Directory.GetDirectories("C:\temp")
    Console.WriteLine(path)
Next


フォルダ内のフォルダとファイルを取得する(GetFileSystemEntriesメソッド)

For Each path As String In System.IO.Directory.GetFileSystemEntries("C:\temp")
    Console.WriteLine(path)
Next


存在する論理ドライブ名をすべて取得する(GetLogicalDrivesメソッド)

コンピューターの論理ドライブ名を “<ドライブ文字>:\” の形式で取得します。

For Each path As String In System.IO.Directory.GetLogicalDrives()
    Console.WriteLine(path)
Next


カレントディレクトリを設定する(SetCurrentDirectoryメソッド)

'C:\tempをカレントディレクトリにする
System.IO.Directory.SetCurrentDirectory("C:\temp")

Console.WriteLine(System.IO.Directory.GetCurrentDirectory()) '結果:C:\temp


フォルダを作成する(CreateDirectoryメソッド)

System.IO.Directory.CreateDirectory("C:\temp\bak")


フォルダを移動する(Moveメソッド)

既に同じ名前のフォルダが存在した場合は移動できません。

System.IO.Directory.Move("C:\temp\bak", "C:\Backup")


フォルダ名を変更する(Moveメソッド)

空のフォルダしか変更できません。

System.IO.Directory.Move("C:\temp", "C:\Backup")


フォルダを削除する(Deleteメソッド)

' 2番目の引数をFalseにしたらフォルダ内にファイルがあったら削除しない
System.IO.Directory.Delete("C:\temp\bak", False)

' 2番目の引数をTrueにしたらフォルダ内にファイルがあっても削除する
System.IO.Directory.Delete("C:\temp\bak", True)


以上、System.IO.Directoryクラスによるファイルの操作について解説しました。