ディレクトリの情報を取得する

サンプルコード

Sub Main()
  Dim myDate As Date

  '作成した日付と時間の取得
  myDate = System.IO.Directory.GetCreationTime("C:\test")

  '最後にアクセスした日付と時間の取得
  myDate = System.IO.Directory.GetLastAccessTime("C:\test")

  '更新された日付と時間の取得
  myDate = System.IO.Directory.GetLastWriteTime("C:\test")
End Sub

各ローカル時計での時間の取得となっています。世界標準時を取得するにはそれぞれの関数名に'Utc'を付け加えてください。


ディレクトリの情報を設定する

サンプルコード

Sub Main()
  Dim myDate As Date = Date.Now
 
  '作成した日付と時間の設定
  System.IO.Directory.SetCreationTime("C:\test", myDate)
 
  '最後にアクセスした日付と時間の設定
  System.IO.Directory.SetLastAccessTime("C:\test", myDate)
 
  '更新された日付と時間の設定
  System.IO.Directory.SetLastWriteTime("C:\test", myDate)
End Sub

各ローカル時計での時間の取得となっています。世界標準時を取得するにはそれぞれの関数名に'Utc'を付け加えてください。


ディレクトリの存在を確認する

サンプルコード

Sub Main()
  Dim Flag As Boolean

  'ディレクトリの有無の確認
  Flag = System.IO.Directory.Exists("C:\test")

  'ディレクトリを作成する
  System.IO.Directory.CreateDirectory("C:\test")

  'ディレクトリを削除する
  System.IO.Directory.Delete("C:\test")

  'ディレクトリの中身ごと削除する
  System.IO.Directory.Delete("C:\test", True)
End Sub

System.IO.Directory.Exists() では、ディレクトリがあれば'True'を返します。

System.IO.Directory.CreateDirectory では引数に指定したパスのディレクトリを作成します。既にディレクトリがある場合はエラーはしませんが、何もしません。

System.IO.Directory.Delete では引数に指定されたパスのフォルダを削除します。フォルダが空でない場合エラーします。その場合第二引数に'True'を指定することで、中身ごと削除します。


コピー・移動・名前変更する

サンプルコード

Sub Main()
  'ディレクトリをコピーする
  My.Computer.FileSystem.CopyDirectory("C:\beforeDirectory", "C:\CopyDirectory", True)

  'ディレクトリを移動する
  System.IO.Directory.Move("C:\beforeDirectory", "C:\out\beforeDirectory")

  'ディレクトリの名前を変更する
  System.IO.Directory.Move("C:\beforeDirectory", "C:\MoveAfter")
End Sub

My.Computer.FileSystem.CopyDirectory() で、ディレクトリをコピーします。第三引数は上書きするかの選択です。省略することもできます。

System.IO.Directory.Move() でディレクトリを移動します。同一ディレクトリに移動するとこで名前の変更ができます。