IT系/リファレンス/DOSコマンド/del

Last-modified: 2023-05-21 (日) 02:35:17

del

ファイルを削除するコマンド。erase コマンドと同じ。

用例

  • ファイル hoge.txt を削除(確認メッセージなし)
    del hoge.txt
  • Cドライブの「myfolder」内の「text1.txt」を削除
    del C:\myfolder\text1.txt
  • Cドライブの「my folder」内の「text1.txt」を削除(パスに半角スペースがある場合ダブルクォートで括る)
    del "C:\my folder\text1.txt"
  • 複数のファイルを一度に削除する場合は、区切り文字として空白を使って続けてファイルを指定
    del aaa.txt bbb.txt ccc.txt
  • ファイル hoge.txt を削除(確認メッセージあり)
    del /p hoge.txt
  • ファイル hoge.txt (読取専用ファイル)を強制的に削除(確認メッセージあり)
    del /f hoge.txt
  • カレントディレクトリ内で、拡張子が「.txt」のファイルを全て削除(確認メッセージあり)
    del *.txt
  • カレントディレクトリ内で、拡張子が「.txt」のファイルを全て削除(確認メッセージなし)
    del /q *.txt
  • ディレクトリ「myfolder」内の全ファイルを削除
    del myfolder
  • ディレクトリ「myfolder」内の全ファイルをサブディレクトリの中のファイルも含めて削除(フォルダそのものは削除されない。削除されるのは、その中にあるファイルだけ)
    del /s myfolder
  • カレントディレクトリ配下のシステム属性(S属性)や隠し属性(H属性)の付いたシステムファイル、読取専用ファイルをサブディレクトリの中のファイルも含め全て削除(確認メッセージなし)
    del /s /q /f /a *.*

書式

del [/p] [/f] [/s] [/q] [/a[:]<attributes>] <names>
erase [/p] [/f] [/s] [/q] [/a[:]<attributes>] <names>

options

<names>1 つ以上のファイルまたはディレクトリの一覧を指定。 複数のファイルを削除するには、ワイルドカードを使用可能。 ディレクトリを指定すると、そのディレクトリ内のすべてのファイルが削除される。
/p指定されたファイルを削除する前に確認メッセージを表示。
/f読み取り専用ファイルを強制削除。
/s現在のディレクトリとすべてのサブディレクトリから、指定されたファイルを削除。 削除中のファイルの名前を表示する。
/qクワイエット モード指定。 削除の確認メッセージを表示しない。
/a[:]<attributes>次のファイル属性に基づいてファイルを削除。
r 読み取り専用ファイル
h 隠しファイル
i コンテンツにインデックスが作成されていないファイル
s システム ファイル
a アーカイブの準備が完了したファイル
l 解析ポイント
- 'not' を意味するプレフィックスとして使用.
/?コマンド プロンプトにヘルプを表示します。

説明

  • del コマンドは、ファイルやディレクトリを削除するコマンド。
  • オプションを指定することで、読み取り専用ファイルやシステムファイル、隠しファイルなどを削除することも可能。
  • ワイルドカードを利用することで、複数のファイルや拡張子を一括で削除することもできる。
  • 読み取り専用属性が設定されたファイルを DEL コマンドで削除しようとすると「アクセスが拒否されました。」と表示されて削除できない。「/f」オプションを指定する必要がある。
  • delコマンドは、ファイルを削除できるが、ディレクトリ(フォルダ)を削除することはできない。
  • ディレクトリを削除する場合は、rmdir もしくは rd コマンドを使用する。カレントフォルダの中にあるファイルとフォルダをまとめて削除したければ、「rmdir /s .」とすればよい。
  • ゴミ箱へは入らず、完全削除されるので注意。
  • 指定したファイルが1件も存在しない場合はエラーとなる。
  • オプションを付けなければ、ファイルを指定した場合は警告無しで削除される。ディレクトリを指定した場合は警告が表示される。ただし、ワイルドカードで指定した場合はファイルでも警告が表示される。
  • 「Microsoft Word」の古い文書ファイル形式である拡張子「.doc」のファイルを削除しようとして、「del *.doc」とすると、新しい形式である拡張子「.docx」のファイルも削除されてしまう(8.3形式のファイル名を生成している場合)。
  • 「del .」は「del *.*」と同じ。
  • PowerShellで同様にファイルを削除する場合、Remove-Itemコマンドレットを使用する。Remove-Itemコマンドレットは、ファイルやフォルダだけでなくレジストリや証明書、環境変数なども削除することができる。
    #ファイル・フォルダを削除
    Remove-item <ファイル or フォルダのパス>
     
    #「rm」「rmd」「del」「erace」のエイリアスがあるので、以下のように指定も可能
    rm <ファイル or フォルダのパス>
    rmd  <ファイル or フォルダのパス>
    del  <ファイル or フォルダのパス>
    erace  <ファイル or フォルダのパス>
     
    #「C:\Work」フォルダ内からファイルとサブフォルダ、サブフォルダ内にあるファイルをまとめて削除
    Remove-Item C:\Work\* -Recurse
     
    #「.doc」ファイル拡張子と「1」を含まない名前のすべてのファイルを現在のフォルダから削除
    Remove-Item * -Include *.doc -Exclude *1*
     
    #C:\test フォルダ内の .txt ファイルを、test1.txt と test2.txtを除外して、すべて削除
    Remove-Item -Path C:\test* -Include *.txt -Exclude test1.txt,test2.txt
     
    #非表示 と 読み取り専用の両方のファイルを削除
    Remove-Item -Path C:\Test\hidden-RO-file.txt -Force
     
    #サブフォルダー内のcsvファイルを再帰的に削除
    Get-ChildItem * -Include *.csv -Recurse | Remove-Item
     
    #レジストリ「HKEY_LOCAL_MACHINE」の「System\CurrentControlSet\Services\abc」キーとその配下の値を削除(管理者権限が必要)
    Remove-Item HKLM:\System\CurrentControlSet\Services\abc

関連

  • rd

参考リンク

その他メモ

なにかあれば。