ディレクトリを指定したら、C#を使用してディレクトリに存在するすべてのファイルとサブディレクトリを削除します。

この問題には2つのバリエーションがあります。最初のバリエーションでは、ルートディレクトリとともに、指定されたディレクトリからすべてのファイルとサブディレクトリを削除します。 2番目のバリエーションでは、すべてのファイルとサブディレクトリを削除しますが、ルートディレクトリは保持します。

1.ルートディレクトリを削除します

指定したディレクトリとそのすべてのサブディレクトリを削除するには、 Directory.Delete() 方法。次の例は、その使用法を示しています。このメソッドの2番目の引数は、サブディレクトリとファイルを削除するかどうかを示します。

コードをダウンロード

 
のインスタンスを使用することもできます DirectoryInfo サブディレクトリとファイルを削除するクラス。それは DirectoryInfo.Delete() メソッドは、 Directory.Delete() 上記の方法。

コードをダウンロード

2.ルートディレクトリを保持します

ディレクトリを削除せずにすべてのファイルとサブディレクトリを削除するには、すべてのファイル/サブディレクトリをループして個別に削除するという考え方です。使用できます GetFilesGetDirectories() 既存のファイルとディレクトリを取得するメソッド。

コードをダウンロード

 
使用することもできます EnumerateFilesEnumerateDirectories() 既存のファイルとディレクトリを列挙するメソッド。これは、多くのファイルやディレクトリを操作する場合により効率的です。

コードをダウンロード

 
これは、LINQを使用して実行することもできます ForEach() foreachループの代わりにメソッド:

コードをダウンロード

 
これは、最初に指定されたディレクトリとそのすべてのサブディレクトリを使用して削除する別の方法です Directory.Delete() メソッドを実行してから、ディレクトリを再作成します。これにより、ルートディレクトリのいくつかの属性が完全に消去されることに注意してください。

コードをダウンロード

これで、C#を使用してディレクトリ内のすべてのファイルとサブディレクトリを削除できます。