ファイル操作

[C#] ディレクトリ(フォルダ)を削除する(Directory.Delete、DirectoryInfo.Delete)

2021年6月16日

ディレクトリ(フォルダ)を削除するサンプルです。

System.IO.Directoryクラスを使用する方法と、
System.IO.DirectoryInfoクラスを使用する方法の2種類があります。

Directoryクラスを使用する方法

第1引数に削除したいフォルダのパスを指定します。
第2引数には、フォルダが空の場合のみ削除する場合はfalse、フォルダ内にファイルやフォルダが存在する場合でも同時に削除したい場合はtrueを指定します。

例1-1)ディレクトリ「C:¥dir01」を削除する

using System.IO;

// 以下どちらの書き方も同じ意味です
Directory.Delete(@"D:¥dir01");
Directory.Delete(@"D:¥dir01", false);

※ディレクトリ内にファイルが存在する場合は、
エラー「System.IO.IOException ディレクトリが空ではありません。」が発生します。

例1-2)ディレクトリ「C:¥dir01」を配下のファイルが存在しても削除する

using System.IO;

Directory.Delete(@"D:¥dir01", true);

※第2引数にtrueを指定するとディレクトリ内にファイルが存在しても同時に削除します。
(配下にディレクトリが存在する場合でも再帰的にすべて削除します。)

DirectoryInfoクラスを使用する方法

例2)ディレクトリ「C:¥dir01」を削除する

using System.IO;

DirectoryInfo di = new DirectoryInfo(@"C:¥dir01");
di.Delete();

備考

  • 指定するファイル名に不正がある場合は、System.IO.IOExceptionが発生します。
  • DirectoryInfoクラスの方は、指定したパスのファイルが存在しない場合は例外が発生します。

関連記事

-ファイル操作
-