Windowsコマンドプロンプトでゴミ箱の中身を完全に削除する方法

Windowsのゴミ箱をコマンドプロンプトから空にするには、PowerShellのClear-RecycleBinを呼び出し、現在のユーザーと対象ドライブを限定する方法を使えます。ゴミ箱の管理フォルダーそのものを削除する必要はありません。本記事では、中身の確認、削除しないプレビュー、確認付きの実行、削除後の確認を順に説明します。

ゴミ箱を空にすると、対象項目はゴミ箱の「元に戻す」では復元できなくなります。必要なファイルを先に復元し、保存先とバックアップを確認してください。ここでいう「完全に削除」はゴミ箱からの通常の復元ができなくなる意味で、ディスク上のデータを上書きして復元不能にする「安全な消去」を保証するものではありません。

目次

コマンドプロンプトの開き方

以下は、Windowsの対話的なユーザーセッションで、Windows PowerShell 5.1(powershell.exe)が使える環境を想定しています。Clear-RecycleBinはPowerShellのコマンドレットであり、cmd.exeの組み込みコマンドではありません。自分のゴミ箱を扱うために、最初から管理者として開く必要はありません。

スタートメニューから開く

  1. スタートの検索に「cmd」と入力します。
  2. 「コマンドプロンプト」を通常の「開く」で起動します。
  3. 別の管理者アカウントで起動せず、ゴミ箱を確認したい本人のユーザーで実行します。

ショートカットキーで開く

  1. Windowsキー + Rを押し、cmdと入力してEnterキーを押します。
  2. Windowsキー + Xから開く場合、Windowsの版や設定により「ターミナル」が表示されます。ターミナルは入れ物なので、コマンドプロンプトのタブを選択するか、cmd.exeを起動してください。

「管理者として実行」と「別のユーザーとして実行」は同じではありません。特に別アカウントで開くと、Clear-RecycleBinの「現在のユーザー」が変わります。共有PCや管理端末では、誰のゴミ箱を操作しているかが重要です。まず次の読み取りコマンドでユーザー名を確認します。

whoami

以降の例はcmd.exeへ入力する形式です。PowerShellの画面へ入力する場合は、外側のpowershell.exe呼び出しではなく、その中のClear-RecycleBinコマンドを使えます。ただし引用符や変数の解釈が異なるため、両方のシェルの書き方を混在させないでください。

必要なコマンドの説明

コマンドの基本構文

使うのはClear-RecycleBinです。Microsoftの仕様では現在のユーザーのゴミ箱を空にする操作で、Windowsの「ゴミ箱を空にする」に相当します。対象ドライブを-DriveLetterで指定します。ドライブを省略すると現在のユーザーの全ドライブが対象になるため、本記事の実行例では必ず指定します。

powershell.exe -NoProfile -Command "Get-Command Clear-RecycleBin -ErrorAction Stop"

これはコマンドの存在を調べるだけで、削除しません。Clear-RecycleBinが見つからない場合は、後述のトラブルシューティングへ進み、代わりに削除コマンドで管理フォルダーを消さないでください。

削除コマンドの詳細

  • powershell.exe:Windows PowerShellを起動します。PowerShell 7のpwsh.exeとは別の実行ファイルです。
  • -NoProfile:利用者のプロファイルスクリプトを読み込まずに実行します。管理者化やポリシー回避の指定ではありません。
  • -Command:後ろの引用符内をPowerShellのコードとして実行します。
  • -DriveLetter C:Cドライブに対応する、現在のユーザーのゴミ箱を対象にします。C:\というディレクトリパスではなく、Cというドライブ文字を指定します。
  • -WhatIf:実際には削除せず、実行予定の操作を表示します。ただし個々のファイル一覧を保証する機能ではありません。
  • -Confirm:実際の削除前に確認を求めます。対象を理解してから、その場で回答します。

-Forceや-Confirm:$falseは付けません。-Forceは確認を省略するだけでなく、Microsoftの仕様では-WhatIfと-Confirmにも優先します。「-WhatIfがあるから安全」と考えて-Forceを併記してはいけません。確認への自動回答をパイプで流す方法も、ここでは使いません。

rdで$Recycle.Binを削除しない理由

rdは一般のディレクトリ削除用コマンドです。/sは配下を再帰的に削除し、/qは確認を抑制します。ドライブ直下の$Recycle.Bin全体にこれらを適用する方法は、現在のユーザーの項目だけを空にする操作とは異なります。他ユーザーの領域や管理情報にも影響し得るため、通常の清掃手順にはしません。

ゴミ箱はエクスプローラーが表示する特殊な場所です。表示上の元の名前・元の場所と、内部の保存パスを同じものとして扱わないでください。C:\$Recycle.Bin\example.txtのように元の名前を足してdelする例は、正しい対象の特定方法ではありません。ゴミ箱破損の修復と、不要項目を空にすることも別の作業です。

コマンドの実行手順

実行ユーザーと対象ドライブを確認する

ここでは「現在のユーザーのCドライブのゴミ箱だけ」を対象にします。Cは例なので、削除前に実際のドライブとボリュームを確認してください。USBや外付けドライブは接続順によりドライブ文字が変わることがあります。

whoami
powershell.exe -NoProfile -Command "Get-PSDrive -PSProvider FileSystem | Select-Object Name, Root"

この一覧はファイルシステムドライブの確認用です。表示された全ドライブがゴミ箱操作に対応するとは限りません。ネットワーク共有やクラウドサービスのゴミ箱までこのコマンドで管理できるわけではありません。対象が不明なドライブをまとめて指定しないでください。

ゴミ箱の中身を確認する

  1. デスクトップの「ゴミ箱」を開きます。アイコンがない場合は、エクスプローラーからゴミ箱を開くか、Windowsのデスクトップアイコン設定を確認します。
  2. 詳細表示で、名前だけでなく「元の場所」「削除日時」「サイズ」も確認します。必要に応じて列を表示します。
  3. 対象ドライブの項目に、復元したいファイルや削除判断がつかないものがないか確認します。必要なものは選択して「元に戻す」で復元し、元の場所で開けることを確認します。
  4. 残った対象ドライブの項目をすべて不要と判断できる場合だけ、次へ進みます。

ゴミ箱のウィンドウには複数ドライブの項目がまとめて表示されます。Cドライブだけを空にするなら、Dドライブなどの項目を含む全体の件数と混同しないでください。空にする単位はドライブであり、画面で選択した一部だけがClear-RecycleBinの対象になるわけではありません。

削除しないプレビューを実行する

powershell.exe -NoProfile -Command "Clear-RecycleBin -DriveLetter C -WhatIf"

この段階では削除しません。対象がCドライブであることをコードでも確認します。WhatIfは「何をする予定か」を示す機能で、ファイルごとの削除一覧や削除可否を完全に検証するものではありません。中身の判断には直前のゴミ箱画面を使います。プレビュー後に新しい項目がゴミ箱へ入った場合は、実行前にもう一度見直します。

確認付きで空にする

次のコマンドは実際に削除します。現在のユーザーのCドライブのゴミ箱にある全項目が対象です。復元済み・不要と確認できた場合だけ実行し、確認プロンプトを読んで回答してください。取りやめる場合はN(いいえ)を明示するかCtrl+Cで中止します。Enterだけで既定回答を選ばないでください。

powershell.exe -NoProfile -Command "Clear-RecycleBin -DriveLetter C -Confirm -ErrorAction Stop"

確認を承認すると削除が始まります。承認後にCtrl+Cを押しても、すでに削除された項目を元へ戻せるわけではありません。途中で失敗した場合も全件が未変更とは限らないため、ゴミ箱を確認してから次の判断をします。

Dドライブを対象にする例

Dドライブの項目を空にしたい場合も、Dが正しい対象か、本人のゴミ箱に何があるかを確認します。次の2行は別の段階です。最初のプレビューを確認してから、必要な場合だけ2行目を実行します。

powershell.exe -NoProfile -Command "Clear-RecycleBin -DriveLetter D -WhatIf"
powershell.exe -NoProfile -Command "Clear-RecycleBin -DriveLetter D -Confirm -ErrorAction Stop"

複数ドライブを指定する機能もありますが、確認漏れを防ぐため、最初は1ドライブずつ扱うのが分かりやすい方法です。ドライブ文字を機械的に全列挙して空にしたり、共有PCの全ユーザーへ広げたりしないでください。

削除後の確認方法

ゴミ箱の状態を確認する

  1. 削除時のエラーが表示されていないか確認します。エラーがあった場合は、その内容と指定ドライブを記録します。
  2. 同じユーザーのゴミ箱ウィンドウを更新するか、いったん閉じて開き直します。
  3. 対象ドライブにあった項目がなくなり、対象外ドライブの項目を誤って消していないか確認します。

Cだけを空にしてDの項目が残るのは正常です。ゴミ箱アイコンが空にならないことだけを理由に、Dや他ユーザーの領域まで削除を広げないでください。Clear-RecycleBinは成功時に一覧や件数を返すコマンドではないため、「何も表示されなかった」だけで完了とはしません。確認でNを選んだ場合も、削除されていないのが正常な結果です。

コマンドプロンプトで終了状態を確認する場合

次は、エラー時に終了コード1を返す形の代替例です。同じCドライブをもう一度空にするための追加ステップではありません。運用上、終了コードが必要な場合だけ、前の実行例の代わりに使います。確認プロンプトは残しています。

powershell.exe -NoProfile -Command "try { Clear-RecycleBin -DriveLetter C -Confirm -ErrorAction Stop } catch { Write-Error $_; exit 1 }"
echo ExitCode=%ERRORLEVEL%

cmd.exeではpowershell.exeの直後に終了コードを確認します。ただし、終了コード0は「対象ファイルをすべて削除した」証明ではありません。確認を断った場合や、最初から空だった場合も区別して記録し、最終的な状態はゴミ箱画面で確認します。

dirで管理フォルダーを見るだけでは判定しない

単にdirで$Recycle.Binの中身が見えないことを確認しても、現在のユーザーのゴミ箱が空になったとは限りません。非表示・システム属性、アクセス権、内部の階層、別ドライブなどが関係します。逆に管理フォルダーや管理用ファイルが残っていても、不要な利用者ファイルが残っているとは限りません。フォルダー自体が消えることを完了条件にしないでください。

応用例:特定のファイルを削除する方法

特定のファイル・フォルダーには全体削除を使わない

Clear-RecycleBinには、元のファイル名やパスで特定の1項目だけを選んで空にするための-Pathパラメーターはありません。ファイルが1つだけ不要な場合は、ゴミ箱の画面から対象を選択して削除します。通常のフォルダーのように内部パスへdelやrdを当てる方法へ置き換えないでください。

example.txtだけを削除する具体例

  1. ゴミ箱を開き、example.txtを探します。同じ名前の項目が複数ある場合は、「元の場所」と「削除日時」で見分けます。
  2. 目的のexample.txtだけが選択されていることを確認します。名前だけで判断できなければ中止し、必要なファイルは先に復元して確認します。
  3. 選択した項目を右クリックして「削除」を選びます。「ゴミ箱を空にする」ではありません。
  4. 永久に削除されることを示す確認内容と対象を確認し、不要と判断したときだけ承認します。
  5. ゴミ箱を更新し、その項目だけがなくなり、残す予定の項目があることを確認します。

フォルダーの場合は、選択したフォルダーの中身も対象になります。名前が一致しても同じフォルダーとは限らないため、元の場所と削除日時を確認します。必要な中身があるか判断できない場合は、フォルダーごと先に復元してから整理してください。

削除対象の表示が分かりにくい場合

確認ダイアログの表示名とゴミ箱一覧の名前の対応が分からない場合は、推測で承認しません。キャンセルして一覧へ戻り、選択項目と元の場所を確認します。表示の不具合が疑われる場合も、内部名を手作業で削除する回避策には進まず、Windowsの更新状況や公式サポート情報を確認します。

トラブルシューティング

Clear-RecycleBinが見つからない

powershell.exeが使えるか、実際に起動しているPowerShellとMicrosoft.PowerShell.Managementモジュールを確認します。PowerShell 7を使う場合もClear-RecycleBinはWindows向けで、LinuxやmacOSでWindowsのゴミ箱を操作するものではありません。会社のポリシーで利用できない場合は、許可されたエクスプローラー操作や管理者の手順を使います。非公式実行ファイルの取得やExecutionPolicyの迂回は不要です。

powershell.exe -NoProfile -Command "$PSVersionTable.PSVersion; Get-Command Clear-RecycleBin -ErrorAction Stop"

アクセス拒否になる

まずwhoamiで本人のアカウントか、対象ドライブが正しいかを確認します。自分のゴミ箱の通常操作でアクセス拒否になるからといって、管理者権限・所有権変更・アクセス権の一括変更で押し通さないでください。他ユーザーの領域、ドライブ状態、管理ポリシー、破損などを切り分けます。共有PCや会社のPCでは担当管理者へエラー内容を伝えます。

ファイルが使用中で削除できない

関連するファイルを開いているアプリが分かる場合は、未保存作業を保存してアプリを通常終了し、残っている対象を再確認します。タスクマネージャーで名前の似たプロセスを無差別に終了したり、システムプロセスを停止したりしません。必要なら作業を保存したうえで通常再起動しますが、再起動後に自動で削除を繰り返す設定にはしません。

ドライブが見つからない・ゴミ箱がない

Dなどのドライブ文字が存在するか、外付けドライブが取り外されていないか、ネットワークドライブを指定していないかを確認します。新しいドライブや削除履歴のないドライブなどでゴミ箱がない場合も、管理フォルダーを自作したり、隣のドライブへ対象を切り替えたりする理由にはなりません。意図した対象が存在しないなら、その対象の操作は止めます。

確認プロンプトが使えない

この手順は対話実行用です。powershell.exeの-NonInteractiveや入力できない実行環境では、確認要求でエラーになることがあります。-Forceで黙らせるのではなく、本人が対象を確認できる通常の端末で実行します。タスクスケジューラやサービスでの自動実行は、実行アカウントと削除範囲が変わるため本記事の手動手順とは別に設計が必要です。

一部だけ削除された・まだ項目がある

削除は全項目を一括で元へ戻せるトランザクションではありません。エラー時に何が残ったか、対象外ドライブか、新しく追加された項目かを確認します。元の確認で判断した範囲と一致する場合だけ再実行を検討し、不明な状態で全ドライブ削除へ広げないでください。

ゴミ箱が壊れていると表示される

通常の空にする操作と、ゴミ箱の破損修復は分けます。残っている必要データ、影響ドライブ、他ユーザーの利用状況を確認し、管理者やMicrosoftの対象OS向けの手順に従ってください。本記事では$Recycle.Bin全体のリセットコマンドを一般的な対処として提示しません。

注意点とリスク

削除はゴミ箱から元に戻せない

空にした後は、ゴミ箱の「元に戻す」や通常の取り消しで回復できません。バックアップなど別の回復手段が残っている場合はありますが、復元できる保証はありません。削除前に必要ファイルを復元し、内容とバックアップを確認することが重要です。

別ユーザー・別ドライブを巻き込まない

Clear-RecycleBinの範囲は実行中のユーザーです。管理者アカウントへの切り替えや、タスク実行アカウントの違いを見落とすと、意図したゴミ箱を操作できません。ドライブ省略も対象拡大になるため、手作業ではドライブを明示し、他人のデータは本人と管理者の承認なく操作しません。

ファイル復元と機密データ消去を混同しない

ゴミ箱を空にすることは、機密データを復元不能にする証明にはなりません。Windowsでは削除後の領域が空き領域として扱われ、条件によってデータが残る場合があります。一方、SSDのTRIMや上書きなどにより復元できなくなる場合もあるため、「必ず復元できる」とも言えません。端末譲渡・廃棄時の安全な消去は、組織や機器メーカーの専用手順で行います。

誤って必要ファイルを空にした場合

追加の削除や清掃を止め、バックアップ・ファイル履歴・利用しているサービスの復元機能を確認します。復元が必要なら対象ドライブへの書き込みをできるだけ減らし、管理者へ相談してください。MicrosoftのWindows File Recoveryも選択肢ですが、回復を保証するものではありません。復元ツールの出力を同じドライブへ保存するなど、回復可能性を下げる操作は避けます。

ゴミ箱を保管場所にしない

ゴミ箱にあるファイルは、利用者の操作や設定されたクリーンアップ機能などで消える可能性があります。「後で必要になるかもしれない」ものは、通常の保存場所へ復元して整理してください。空にする頻度は空き容量や保存規程に合わせて判断し、不要な定期全削除を増やすことを目的にしません。

まとめ

コマンドプロンプトからゴミ箱を空にする場合は、本人の通常権限のcmd.exeからClear-RecycleBinを呼び出します。実行ユーザーとドライブを確認し、必要な項目を復元したあと、-WhatIfでプレビューし、-Confirm付きで実行します。完了は対象ドライブの項目が消えたことをゴミ箱画面で確認します。

一部のファイルだけを削除したい場合は、example.txtの例のようにゴミ箱画面で正しい項目を選びます。$Recycle.Bin全体をquiet指定で削除したり、元のファイル名から内部パスを推測したりしないことが、誤削除と他ユーザーへの影響を避けるポイントです。

公式情報・参考資料

確認日:2026年10月20日。コマンド仕様と削除・復元の注意点は次のMicrosoft一次資料を参照しています。実行環境のGet-Helpや管理ポリシーも確認してください。

この記事を書いた人

実務の現場で詰まりがちなポイントを地図にするITブログ「IT trip」を運営。Windows/Office(Teams・Excel)からSQL、サーバ運用、ガジェットまで、再現性のある手順と“なぜそうなるか”を丁寧に解説します。読んだらすぐ試せること、そして迷った人の次の一歩が見えることを大切にしています。

コメント

コメントする

目次