ルート ディレクトリを削除せずに C# でファイルとフォルダーを削除します
C# では、ルート ディレクトリを保持したまま、ディレクトリ内のすべてのファイルとフォルダーを削除できます。この手法は、ディレクトリ構造を失わずにディレクトリの内容をクリーンアップする必要がある場合に役立ちます。
1 つの方法は、DirectoryInfo
クラスを使用することです:
<code class="language-csharp">System.IO.DirectoryInfo di = new DirectoryInfo("YourPath"); foreach (FileInfo file in di.GetFiles()) { file.Delete(); } foreach (DirectoryInfo dir in di.GetDirectories()) { dir.Delete(true); }</code>
このコードは、まず、指定されたパスの DirectoryInfo
オブジェクトを作成します。次に、GetFiles()
を使用してディレクトリ内のファイルを反復処理し、それぞれを削除します。その後、GetDirectories()
を使用してディレクトリを反復処理し、それらを再帰的に削除 (true
パラメーター) して、すべてのコンテンツが確実に削除されるようにします。
多数のファイルを含むディレクトリの場合、効率を高めるために、EnumerateFiles()
メソッドと EnumerateDirectories()
メソッドを使用できます。
<code class="language-csharp">foreach (FileInfo file in di.EnumerateFiles()) { file.Delete(); } foreach (DirectoryInfo dir in di.EnumerateDirectories()) { dir.Delete(true); }</code>
EnumerateFiles()
と EnumerateDirectories()
は部分的な列挙を許可し、コレクション全体をメモリにロードすることを回避することで、大規模なディレクトリの効率を高めます。
どちらの方法でも、ルート ディレクトリを保持したまま、指定されたディレクトリ内のすべてのファイルとフォルダーを削除するという目的を達成できます。
以上がルート ディレクトリを保持したまま C# でファイルとフォルダーを削除するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。