読者です 読者をやめる 読者になる 読者になる

コマンドプロンプトでDEL(ERASE)コマンドを使ってみる

DELコマンドはファイルを削除します。フォルダは対象外です。 ERASEコマンドでも動作は同じ。

一般的な使い方としては

DEL 削除するファイル名

になります。

例えば以下のようなフォルダがあったとして

DEL a.txt

a.txtが削除されます。削除の確認や削除されたファイルは表示されません。

DEL /P a.txt

/Pオプションをつけると削除の前に確認メッセージが表示されます。

DEL *.txt

削除するファイル名にはワイルドカードが使えます。 ヘルプには/Qオプションを使うとワイルドカードによる 一括削除で確認メッセージが表示されなくなります。とあるものの、 /Qオプションがなくても確認メッセージは表示されず。ファイルは削除されています。

d.txtが削除されていないのは、隠しファイルになっているためです。

DEL *

ここでいうワイルドカードとは、*のみを指していました。 つまり対象は実行したフォルダ以下にあるファイル全て。/Qオプションをつけるのは 確実にファイルを削除していい場合だけにしたほうがよさそうです。

DEL temp

tempフォルダではなく、フォルダの中にあるファイルが削除されます。

DEL /S d.jpg

/Sオプションをつけると、コマンドを実行したフォルダ以下にある すべてのサブディレクトリ(フォルダ)から指定したファイルが削除されます。 また、実行後に削除されたファイル名が表示されます。

DEL /AH *.txt

/Aオプションをつけると、指定した属性のみファイルを削除します。 /AHだと隠しファイルが対象になるので、d.txtが削除されることになります。

オプション(一部。詳細についてはDEL /?を参照)

/A 削除するファイルの属性を指定する
H 隠しファイル
R 読み取り専用
S システム ファイル
/P 削除の確認メッセージを表示する
/S 指定したファイルを全てのサブディレクトリ(フォルダ)から削除する
/Q ワイルドカードで削除するとき確認メッセージを表示しない

COPYコマンドのように処理が行なわれたファイル名は表示されず*1、 ゴミ箱に残るわけでもないので、間違ってファイルを削除しないよう注意が必要です。

*1:/Sオプションをつけた場合は除く