Windowsでの基本的な作業の1つはファイルの管理だろう。特にエクスプローラーはその中心として使われる。初期のWindowsでは、プログラムの起動を想定した「プログラムマネージャー」がメインのGUIアプリだったが、Windows 95でその役割はスタートメニューに移るとともに、作業頻度の高いファイル管理をするためのエクスプローラーがWindowsのシェルとなった。
日々のファイル管理では、ファイル/フォルダのコピーや移動、削除が大半の操作だろう。Windows側からみると、ファイルのフォルダ(ディレクトリ)は、異なるオブジェクトであり、それぞれを扱うAPIも異なる。しかし、エクスプローラーでは、異なるオブジェクトであることをあまり意識させずに、ファイルやフォルダを処理できるようになっている。今回は、こうしたファイル操作のうち、「削除」という処理について解説したい。
ごみ箱へ送る
Windowsで一般に削除と呼ばれているものには、「ごみ箱へ転送」と「完全削除」の2つの処理がある。
Windowsの「ごみ箱」は「削除」したファイルを一定期間保存しておき、削除の取り消しを可能にすることはよくご存じだろう。エクスプローラーでは、通常の削除はこのごみ箱への移動となる。取り消しには、メニューの「元に戻す」または、キーボードショートカットの「Ctrl+Z」を使う。
このごみ箱には、最大容量などの設定項目があり、削除項目を格納する条件、一定周期で復活させなかった削除対象を削除して、メンテナンスをするルールがある。
ごみ箱は、ドライブ(論理ドライブ、パーティション上のボリューム)ごとに1つずつ存在する。また、その最大容量はドライブごとに設定できる。この設定はごみ箱のプロパティから可能で。なお、削除でごみ箱を使わないように設定することも実はできる。
ごみ箱のプロパティは、ごみ箱アイコンの右クリックメニュー、もしくは「shell:RecycleBinFolder」を使ってエクスプローラーからごみ箱ディレクトリを開き、点が横に3つならんだ3ドットメニュー(ミートボールメニューなどとも)を使って表示させる。ここにはドライブごとの最大容量や動作を指定する項目がある
ごみ箱の容量が上限値に達すると、古いものから順に消して、新しい削除項目を記録する。また、ドライブの残り容量が30%以下になると、設定に関わらず、ごみ箱は使われなくなり、残り容量を消費しなくなる。これは、アプリケーションなどが容量不足で停止してしまうことを回避する措置の一環である。
その一方で、システムメンテナンスとして、Windows 11ではストレージセンサーで設定した時間(規定値は30日)を経過した、ごみ箱内の削除項目を完全削除している。これにより、削除項目でごみ箱が埋まってしまうことを防いでいる。
なお、ごみ箱は、削除項目を元の状態に戻せるように、特殊な形式でごみ箱ディレクトリに保存している。ごみ箱ディレクトリは各ドライブにあり、これをまとめたものがデスクトップの「ごみ箱」として表示されている。
各ドライブのごみ箱ディレクトリは、ドライブルートの「$Recycle.Bin」である。簡単に内容を見るだけなら、PowerShellから
Get-ChildItem -Force 'C:\$Recycle.Bin'
とする。なお、Get-ChildItemのエイリアスとしてdirが使える。ごみ箱ディレクトリ以下は、すべて隠しファイルなので「-Force」オプションが必要になる。また、パスには「$」が含まれているため、PowerShellでは必ずシングルクオートで括る必要がある。
PowerShellからのごみ箱操作は、ごみ箱を空にする「Clear-RecycleBin」だけだ。ただし、オプション指定でドライブ文字を指定できる。
PowerShellには、ファイルやディレクトリの削除機能はあるが、すべて完全削除をその場でするもので、ごみ箱にファイルを送る機能がない。なので、PowerShellからごみ箱を使う場合、Win32API(COMインターフェース)を使うか、Visual BASICのクラス(Microsoft.VisualBasic.FileIO.FileSystem)を使って、項目の削除をする。
本記事はアフィリエイトプログラムによる収益を得ている場合があります

この連載の記事
-
第546回
PC
Windows 11でBluetoothオーディオ共有(Auracast)を試してみる -
第545回
PC
PowerShellにおけるwinget -
第544回
PC
Windows 11 Ver.26H2プレビュー公開 さらにその次のWindowsも少し見えてきた -
第543回
PC
「WMIC」が消滅 コマンドが消える「WMI」とはそもそも何? -
第542回
PC
PowerToysの最新版では、今使っているアプリの複数ウィンドウをショートカットで切り替えられる便利機能が追加 -
第541回
PC
AIを組み込んだWindowsターミナル「Intelligent Terminal」をインストールして試してみる -
第540回
PC
Windows 11に付属の新しいOutlookでアカウント設定をする -
第539回
PC
Microsoft製の新しいWindows用日本語入力「Copilot Keyboard」を使う -
第538回
PC
PowerShellをシェルとして使うためのポイント【情報表示のやり方】 -
第537回
PC
PowerShellをシェルとして使うためのポイントを解説 - この連載の一覧へ












