この記事には広告を含む場合があります。
記事内で紹介する商品を購入することで、当サイトに売り上げの一部が還元されることがあります。
ども。あいしんくいっと(@ithinkitnet)です。
不要なファイルを放り込むゴミ箱ですが、デフォルトだと入れるだけで勝手には消えてくれません。
ただ聞くところによるとごみ箱をフォルダのように扱っている方もいらっしゃるみたいですし、ごみ箱って意外に重要なんですよね(笑)
まぁ、「とりあえずごみ箱に放り込んでおいて、必要になったら取り出して使う」といった使い方が便利なのも分からなくないです。
ですが、ごみ箱も容量喰うのでその扱いはしっかりしておかないと面倒なことになります。
というわけで、ゴミ箱を定期的に空にする方法について挙げておきたいと思います。
Windowsでごみ箱を定期的に空にする方法
Windowsのゴミ箱について
Windowsのゴミ箱の扱い方は大きく分けて2種類あります。
「カスタムサイズ」でごみ箱の容量を指定しておくと、その容量を超えたら自動的に削除してくれる機能はあるのですが、ごみ箱が空になるワケではないです。
また、「ごみ箱にファイルを移動しないで、削除と同時にファイルを消去する」にチェックを入れとくと、ごみ箱に入れると同時にいきなり削除出来たりするんですけど、
「やっぱ、戻したい!」ってなった時にとっても困るのでオススメ出来ません・・・。
発見!コマンド一発でごみ箱を空にさせる方法
定期的にごみ箱を空にする方が安心だし、容量的にも優しいと思うんですけどね~。
なので、「コマンド一発でごみ箱を空にさせる方法」ってないのかな~?って調べてみたらありましたよ。
その方法とは、以下のコマンドを一発発行するだけ!
rd /s c:\$Recycle.Bin
上記コマンドはごみ箱がCドライブにある場合のみ有効です。ゴミ箱を他のドライブに移動している場合は適宜変更してください。
参考 全てのユーザアカウントのゴミ箱を自動で空にするためのコマンドライン
でも、上記だと削除確認が入るので面倒。
なので、”/q”オプションをつけてあげると「コマンド一発でゴミ箱空にする」といったこちらの意図通りの動作が出来ます。
rd /s /q c:\$Recycle.Bin
上記コマンドを実行すると、ごみ箱が空になります。
コマンド実行前
↓
コマンド実行後
Administratorユーザ以外だとエラーが・・・?
理由は分からないのですが、Administrator以外のユーザだとエラーが発生します。
でも、ごみ箱は空になるという・・・。
「アクセスが拒否されました。」と言いつつ、データ削除は行われているみたいなのですが、この挙動はバグでないのか?(笑)
「rd /s /q c:\$Recycle.Bin」コマンドは全ユーザーのゴミ箱を空にしようとするため、一般ユーザで実行するとエラーが発生します。
権限の持っているゴミ箱、つまり実行したユーザーのゴミ箱のみ空にできます。
こちらでも検証したところ、全ユーザのゴミ箱を空にする挙動となることが確認できました。
なので、Administrator以外のユーザーでエラーが出るであってますね。
タスクスケジューラに組み込んだり、ログイン/ログオフスクリプトに組み込んだりしてあげれば、「ごみ箱を定期的に空にする」という目標は達成出来そうです。
ちなみにファイルをコマンドで削除した場合、ごみ箱に入らず強制削除されてしまうので注意が必要。
Windowsコマンドでファイル削除すると・・・?ゴミ箱には入らず削除されるので注意が必要。
Macのゴミ箱をコマンドで空にする方法はこちら。
Macのゴミ箱をコマンドで空にする方法
PowerShellのコマンドレットで行う方法はこちら。
【Windows】PowerShellで定期的にゴミ箱を空にする方法
以上、あいしんくいっとでした( *´艸`)
Administratorじゃないとエラーが出るのは、該当のコマンドがWindows上の全ユーザーのゴミ箱を空にしようとしてるからだと思います。
なので、Adminじゃないユーザーでコマンドを実行すると、他のユーザーのゴミ箱へのアクセス権が無いためにエラーは出るものの、自分のゴミ箱のファイルは問題なく消せる、という状況が発生するのではないでしょうか。
バグじゃないと思いますよ。
ご指摘ありがとうございます。確かにその通りですね・・・。
修正させていただきます。