あいしんくいっとオススメ商品レビュー

Windowsでごみ箱を定期的に空にする方法について

この記事には広告を含む場合があります。

記事内で紹介する商品を購入することで、当サイトに売り上げの一部が還元されることがあります。

本記事対象者
定期的にゴミ箱を空にする方法を知りたい方

ども。あいしんくいっと(@ithinkitnet)です。

不要なファイルを放り込むゴミ箱ですが、デフォルトだと入れるだけで勝手には消えてくれません。
ただ聞くところによるとごみ箱をフォルダのように扱っている方もいらっしゃるみたいですし、ごみ箱って意外に重要なんですよね(笑)
まぁ、「とりあえずごみ箱に放り込んでおいて、必要になったら取り出して使う」といった使い方が便利なのも分からなくないです。
ですが、ごみ箱も容量喰うのでその扱いはしっかりしておかないと面倒なことになります。

というわけで、ゴミ箱を定期的に空にする方法について挙げておきたいと思います。

Windowsでごみ箱を定期的に空にする方法

Windowsのゴミ箱について

Windowsのゴミ箱の扱い方は大きく分けて2種類あります。
「カスタムサイズ」でごみ箱の容量を指定しておくと、その容量を超えたら自動的に削除してくれる機能はあるのですが、ごみ箱が空になるワケではないです。
3e44dac4-85e7-4699-9a72-7cb76f5db89a

また、「ごみ箱にファイルを移動しないで、削除と同時にファイルを消去する」にチェックを入れとくと、ごみ箱に入れると同時にいきなり削除出来たりするんですけど、
2a237f20-d66e-4526-be4d-9a9bf2585d00
「やっぱ、戻したい!」ってなった時にとっても困るのでオススメ出来ません・・・。

発見!コマンド一発でごみ箱を空にさせる方法

定期的にごみ箱を空にする方が安心だし、容量的にも優しいと思うんですけどね~。
なので、「コマンド一発でごみ箱を空にさせる方法」ってないのかな~?って調べてみたらありましたよ。

その方法とは、以下のコマンドを一発発行するだけ!

ゴミ箱削除コマンド

rd /s c:\$Recycle.Bin
注意

上記コマンドはごみ箱がCドライブにある場合のみ有効です。ゴミ箱を他のドライブに移動している場合は適宜変更してください。

参考 全てのユーザアカウントのゴミ箱を自動で空にするためのコマンドライン

でも、上記だと削除確認が入るので面倒。
32fafb7d-7080-464f-81bb-dcf811ba368f

なので、”/q”オプションをつけてあげると「コマンド一発でゴミ箱空にする」といったこちらの意図通りの動作が出来ます。

強制ゴミ箱削除コマンド

rd /s /q c:\$Recycle.Bin

上記コマンドを実行すると、ごみ箱が空になります。
b9ba392b-800a-4f7e-99bf-8d62e5dada1a

コマンド実行前
763077ec-9fff-4ed9-8f1e-1bd83213aac7

コマンド実行後
715f2861-3c2b-4716-9f9f-221f06c0d892

Administratorユーザ以外だとエラーが・・・?

理由は分からないのですが、Administrator以外のユーザだとエラーが発生します。
でも、ごみ箱は空になるという・・・。

「アクセスが拒否されました。」と言いつつ、データ削除は行われているみたいなのですが、この挙動はバグでないのか?(笑)
「rd /s /q c:\$Recycle.Bin」コマンドは全ユーザーのゴミ箱を空にしようとするため、一般ユーザで実行するとエラーが発生します。
権限の持っているゴミ箱、つまり実行したユーザーのゴミ箱のみ空にできます。
43701cec-73c1-42dc-bd82-7711812a3d2d

コメントについて
「rd /s /q c:\$Recycle.Bin」コマンドは全ユーザのゴミ箱を空にするため、権限を持っていないとエラーになるのでは?との指摘を頂きました。
こちらでも検証したところ、全ユーザのゴミ箱を空にする挙動となることが確認できました。
一般ユーザーでゴミ箱削除エラー
なので、Administrator以外のユーザーでエラーが出るであってますね。

タスクスケジューラに組み込んだり、ログイン/ログオフスクリプトに組み込んだりしてあげれば、「ごみ箱を定期的に空にする」という目標は達成出来そうです。

ちなみにファイルをコマンドで削除した場合、ごみ箱に入らず強制削除されてしまうので注意が必要。
Windowsコマンドでファイル削除すると・・・?ゴミ箱には入らず削除されるので注意が必要。

Macのゴミ箱をコマンドで空にする方法はこちら。
Macのゴミ箱をコマンドで空にする方法

PowerShellのコマンドレットで行う方法はこちら。
【Windows】PowerShellで定期的にゴミ箱を空にする方法

以上、あいしんくいっとでした( *´艸`)

2 COMMENTS

Nar

Administratorじゃないとエラーが出るのは、該当のコマンドがWindows上の全ユーザーのゴミ箱を空にしようとしてるからだと思います。
なので、Adminじゃないユーザーでコマンドを実行すると、他のユーザーのゴミ箱へのアクセス権が無いためにエラーは出るものの、自分のゴミ箱のファイルは問題なく消せる、という状況が発生するのではないでしょうか。
バグじゃないと思いますよ。

返信する
あいしんくいっと

ご指摘ありがとうございます。確かにその通りですね・・・。
修正させていただきます。

返信する

Nar にコメントする コメントをキャンセル

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)