[解決済み] ディレクトリ内のすべてのファイルやフォルダを削除する方法は?
2022-03-23 22:25:45
質問
C#を使用して、ディレクトリからすべてのファイルとフォルダを削除し、ルートディレクトリを維持するにはどうすればよいですか?
どのように解決するのですか?
System.IO.DirectoryInfo di = new DirectoryInfo("YourPath");
foreach (FileInfo file in di.GetFiles())
{
file.Delete();
}
foreach (DirectoryInfo dir in di.GetDirectories())
{
dir.Delete(true);
}
ディレクトリに多くのファイルが存在する可能性がある場合。
EnumerateFiles()
よりも効率的です。
GetFiles()
というのも
EnumerateFiles()
とは対照的に、コレクション全体が返される前に列挙を開始することができます。
GetFiles()
では、列挙を開始する前にコレクション全体をメモリにロードする必要があります。以下の引用を参照。
ここで
:
そのため、多くのファイルやディレクトリを扱う場合は、EnumerateFiles()を使用した方が効率的な場合があります。
についても同様です。
EnumerateDirectories()
と
GetDirectories()
. というわけで、コードはこうなります。
foreach (FileInfo file in di.EnumerateFiles())
{
file.Delete();
}
foreach (DirectoryInfo dir in di.EnumerateDirectories())
{
dir.Delete(true);
}
この質問の趣旨からすれば、本当に
GetFiles()
と
GetDirectories()
.
関連
-
[解決済み】「The breakpoint will not currently be hit」を改善するには?このドキュメントにはシンボルが読み込まれていません。" という警告はどうすれば改善されますか?
-
[解決済み】Moqを使用してメソッド呼び出しを検証する
-
[解決済み] 他のスレッドからGUIを更新するにはどうすればよいですか?
-
[解決済み] enumを列挙するには
-
[解決済み] ディープクローンオブジェクト
-
[解決済み] 複数の例外を一度にキャッチする?
-
[解決済み] C#で文字列のエンコーディングを手動で指定せずに、一貫性のあるバイト表現を得るには?
-
[解決済み] C#でベースコンストラクタを呼び出す
-
[解決済み] HTTP POST Web リクエストの作成方法
-
[解決済み] async」と「await」の使い方とタイミング
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】「未割り当てのローカル変数を使用」とはどういう意味ですか?
-
[解決済み] エンティティタイプ ApplicationUser は、現在のコンテキストのモデルの一部ではありません。
-
解決済み] Critical error detected c0000374 - C++ dll returns pointer off allocated memory to C# [解決済み] Critical error detected c0000374 - C++ dll returns pointer off allocated memory to C#.
-
[解決済み】値が期待した範囲に収まらない
-
[解決済み】Socket.Selectがエラー "An operation was attempted on something that is not a socket" を返す。
-
[解決済み】Moqを使用してメソッド呼び出しを検証する
-
[解決済み】WSACancelBlockingCallの例外について
-
[解決済み] 2つのリストを結合する
-
[解決済み】インデックスが範囲外でした。コレクションパラメータname:indexのサイズより小さく、非負でなければなりません。
-
[解決済み】データが存在しないのに読み込もうとする試みが無効である