ファイルをコマンドラインで削除する方法
このガイドでは、Windowsのターミナルを使用してファイルやディレクトリを削除するさまざまな方法を説明します。Microsoftが提供する組み込みコマンドと専用ユーティリティの両方を取り上げ、構文や主要な引数、その目的を詳細に解説します。これにより、単純な削除から完全なデータ消去まで、目的に応じて最適な方法を選択できます。
方法1: DELコマンドの使用
DELコマンドは、コンソールからファイルを削除するためのWindowsオペレーティングシステムの標準ツールです。単一のオブジェクトだけでなく、マスクで指定したファイルグループも削除でき、大量処理に便利です。このコマンドは追加ソフトウェアを必要とせず、すべてのバージョンのWindowsで利用できます。操作を実行するには「コマンドプロンプト」を開き、以下の構文に従って正しいファイルパスを指定する必要があります。
- スタートメニューまたは「ファイル名を指定して実行」(Win+Rキーを押して
cmdと入力)から「コマンドプロンプト」を開きます。 - 次のテンプレートを使用してコマンドを入力します:
DEL パス\ファイル名 - 例:
DEL C:\Users\Username\Documents\report.txt
必要に応じて、処理を制御するために追加の引数を使用します:
/P— 各ファイルの削除前に確認を求めるプロンプトを有効にします。システムは「ファイル名、削除しますか (Y/N)?」というメッセージを表示し、削除するにはY、キャンセルするにはNの応答が必要です。/F— 「読み取り専用」属性を持つファイルを強制的に削除します。事前のロック解除なしに保護されたオブジェクトを削除できます。/S— 指定したディレクトリとそのすべてのサブディレクトリ内の全ファイルに対してコマンドを適用します。この引数は確認なしに下位データを削除するため、注意が必要です。/Q— マスクによる複数ファイル削除時の確認プロンプトを無効にします。プロセスを高速化しますが、操作の制御は低下します。
Enterキーを押して実行します。引数に応じて確認プロンプトが表示されたら、YまたはNで応答します。
方法2: ERASEコマンドの使用
ERASEコマンドはDELの完全な同義語であり、同じ引数のサポートを含め、同一の機能を備えています。ERASEという名前は、コンソールの初心者にとってより直感的に理解しやすい場合があります。どちらのコマンドもシステムによって同じように処理され、同じ結果をもたらすため、DELとERASEの選択は個人の好みに過ぎません。
- 「コマンドプロンプト」を起動します。
- テンプレートに従ってコマンドを入力します:
ERASE パス\ファイル名 - 例:
ERASE D:\Temp\data.log - 必要に応じて、
DELコマンドと同様の意味を持つ/P、/F、/S、/Qの引数を追加します。 - Enterキーを押し、プロセスが完了するまで待ちます。
方法3: RMDIR (RD) コマンドを使用したファイルを含むディレクトリの削除
RMDIRコマンド(または短縮形のRD)はディレクトリを削除するためのものです。デフォルトでは空のフォルダにのみ機能しますが、主要な引数を使用することで、フォルダ内のすべてのファイルとサブディレクトリを再帰的に削除できます。この方法は、中身を手動で削除せずにディレクトリ構造全体を一掃する必要がある場合に効率的です。
- 「コマンドプロンプト」を開きます。
- 次の形式でコマンドを入力します:
RMDIR ディレクトリパス /S - 短縮形の使用も可能です:
RD ディレクトリパス /S
動作を制御する主要な引数:
/S— 指定したディレクトリ内のすべてのファイルとサブディレクトリの再帰的な削除を指定します。この引数がない場合、空でないフォルダに対してコマンドはエラーで終了します。/Q— 「よろしいですか (Y/N)?」という確認プロンプトを無効にし、実行を高速化します。
Enterキーを押します。確認プロンプトが有効な場合は、続行するためにYを入力します。
方法4: PowerShellとRemove-Itemコマンドの使用
PowerShellは最新のコマンドインターフェースとRemove-Itemコマンドを提供し、標準のコマンドプロンプトと比較してより広範な機能を備えています。このコマンドは再帰的削除、アクセス制限の強制回避、アクションの詳細な確認、実際のファイル削除を行わない安全なシミュレーションモードをサポートします。Remove-Itemは個々のファイルと、中身を含むディレクトリ全体の両方に適用できます。
- PowerShellシェルを開きます(検索またはスタートのコンテキストメニューから)。
- ファイルを削除するには、次の構文を使用します:
Remove-Item パス\ファイル名 - 組み込みエイリアスの使用も可能です:
rm パス\ファイル名 - ディレクトリをその内容物ごと削除するには、-Recurseパラメータを適用します:
Remove-Item ディレクトリパス -Recurse
コマンドで使用可能なパラメータ:
-Recurse— すべての下位ファイルとサブディレクトリを含む、ディレクトリ内容の再帰的削除を有効にします。-Force— 隠しファイルや書き込み保護されたファイル、「読み取り専用」属性を持つオブジェクトの強制削除を実行します。-Confirm— 各オブジェクトの削除前に確認を要求します。これはDELやERASEコマンドの/P引数と同様です。-WhatIf— コマンドによって実行されるアクションの情報を、実際の削除なしで表示します。マスクや再帰的操作の事前確認に役立ちます。
Enterキーを押してコマンドを実行し、有効になっている場合は表示されるプロンプトに従います。
方法5: Microsoft提供のSDeleteユーティリティの使用
SDeleteは、MicrosoftのSysinternalsスイートに含まれる専用コンソールユーティリティであり、後で復元できないことを保証する安全なファイル削除のために設計されています。このユーティリティは、消去基準に従って削除前にデータを複数回上書きします。この方法は機密情報の破棄に推奨されますが、作業を開始する前にSDeleteを公式ウェブサイトからダウンロードして展開する必要があります。
- SDeleteユーティリティのアーカイブをMicrosoftの公式ウェブサイト(Sysinternals)からダウンロードし、コンピューター上の任意のディレクトリに展開します。
- ユーティリティのフォルダには実行可能ファイルがあります。そのうちの1つを起動して初期確認を行います。使用許諾契約のテキストが画面に表示されます。
- 使用許諾契約に同意し、SDeleteコマンドを実行する機能を有効にします。
- ユーティリティのフォルダ内で直接コンソールを開きます。エクスプローラーで、Shiftキーを押しながらディレクトリを右クリックし、「PowerShellウィンドウをここに開く」またはコマンドプロンプト用の類似項目を選択します。
.\/sdeleteと入力してEnterキーを押し、ヘルプウィンドウを呼び出してユーティリティが正しく動作することを確認します。- 次の構文を使用して削除コマンドを実行します:
.\/sdelete パラメータ パス\ファイル名
例: .\/sdelete -p 5 C:\Secret\data.txt
SDeleteの主な引数:
-p— データ上書きのパス数を指定します。パス数が多いほど削除の信頼性は高まりますが、それに比例して実行時間が増加します。デフォルトでは3パスが使用されます。-s— 指定したパスのすべてのサブディレクトリの再帰的処理を有効にします。-z— 空きディスク領域をクリーンアップし、以前に削除されたファイルの残骸を上書きします。この際、既存のファイルは影響を受けません。-a— 削除前にファイル属性を通常状態にリセットし、「読み取り専用」属性を持つオブジェクトを強制的に削除できるようにします。
Enterキーを押し、操作が完了するまで待ちます。処理時間は、指定したパス数とファイルサイズによって異なります。