1 つのディレクトリ内の 2,000,000 を超えるファイルを効率的に削除するにはどうすればよいですか?

1 つのディレクトリ内の 2,000,000 を超えるファイルを効率的に削除するにはどうすればよいですか?

「インターネット一時ファイル」には 2,000,000 個以上 (そうです、200 万個以上) のファイルがあります。

この問題は、スクリプトを実行するスケジュールされたタスクの結果です。Visual Studio をインストールした後、実行するたびに多数の「アセンブリ バインダー ログ エントリ」.HTM ファイルが生成されています。

これは15分ごとに行われています8ヶ月つまり、現在、そこには 2,000,000 個以上、8 GB 相当のファイルが存在することになります (WinDirStat と Everything がクラッシュするのも不思議ではありません)。


2,000,000 個のコンテンツすべてを反復処理せずにフォルダーを削除するにはどうすればよいでしょうか?

エクスプローラーで親フォルダーを開いて、Delキーを押すだけで済みました。すると、Windows は 2,000,000 個のファイルをごみ箱に送信しようとしました (失敗しました)。「アイテムの検出」フェーズを通過できませんでした。

次に PowerShell ( ) を使用しましたRemove-Item 'Content.IE5'が、各ファイルを再帰的に処理して個別に削除しようとしています。最終的にはうまくいくように思えますが、もっと良い方法があるはずです。

アセンブリ バインダー ログ エントリ ファイルが一体何なのかを教えていただければ、ボーナス ポイントがもらえます...

答え1

StackOverflow の同様の質問によると、実行できる操作がいくつかあります。最も評価の高い回答 (承認された回答ではありません) から引用すると、このようなタスクを実行するための最良の方法は次のとおりです。

私が見つけた最良の方法は、2 行のバッチ ファイルで、最初のパスでファイルを削除し、各ファイルを画面に書き込むオーバーヘッドを回避するために nul に出力します。2 番目のパスで残りのディレクトリ構造をクリーンアップします。

> del /f/s/q foldername > nul 
> rmdir /s/q foldername

当然、フォルダーではなく一連のファイルを削除するので、この回答を特定の目的に合わせて調整する必要があります。

このユーザーは、このようなタスクを達成する最悪の方法は、すべて選択することであり、Del次に悪いのはすべて選択することだとShift述べています(私も同意します)。Del

残念ながら、ログエントリファイルが何なのか全く分かりません。

ソース -スタックオーバーフロー

答え2

これを試して:

スタート > 実行 > cmd > 目的のディレクトリにcd

目的のディレクトリまたは親ディレクトリに移動したら、del と入力します (例) C:\Users\username\Desktop*desiredfile.ext

これにより、確認なしにファイルが削除されます。

答え3

8+3 ファイル名をオフにし、コマンド ラインから削除し、8+3 を再びオンにします。最初の数万のファイルを過ぎると、追加のファイル名セットを追跡することでオーバーヘッドが増加します。

関連情報