コマンドプロンプトでファイルを削除[del,erase]する理由?

2019年7月9日

妹「でも、どうしてコマンドプロンプトで削除するの?Windowsでもファイル削除って簡単にできるよね。なんでわざわざコマンドプロンプトで削除する必要があるの?」
兄「例えばこういうフォルダがあったとするよね」

妹「うん」
兄「ここから、.txtの物だけを削除したい場合はどうする?CTRLをおしながらクリックしていかないといけないだろ?」
妹「拡張子で並べ替えて種類が『 テキストファイル 』の物を削除するけど?」
兄「……じゃあ、20ファイルじゃなくてこれがもっと大量にあったらどうする?2万ファイルとか」
妹「検索したあと『 CTRL+A 』して削除するけど……」


兄「……じゃあ、更新日時が3日以内の物は残さないといけないとか……」
妹「それってdelだけでできるの?」
兄「もう一つコマンドを足せば……できる。いや、で、できらぁ!!
妹「ほう、じゃあ消してもらおうか」
兄「え!もう一つコマンドを足して更新日時が三日以内の物を残して削除!?
妹「や……まあいいけどさぁ。検索ウィンドウに『 更新日時: 』とか打てば検索できるでしょ?それからCTRL+Aして消せばいいんじゃないかな」
兄「え……」

兄「できるんだ……知らなかった」
妹「それで、delを使う意味は?」
兄「……バッチファイルに書ける?」
妹「それだけ?」
兄「そんなコマンドプロンプト潰しみたいな事はやめてくれない……?検索して消すよりも絶対に速いから」

DEL [/P] [/F] [/S] [/Q] [/A[[:]属性]] 名前
ERASE [/P] [/F] [/S] [/Q] [/A[[:]属性]]
名前

名前 ファイルまたはディレクトリ (複数可) の一覧を指定します。
複数のファイルを削除するときはワイルドカードを使用できます。
ディレクトリを指定した場合、ディレクトリ内のすべての
ファイルが削除されます。

/P 各ファイルを削除する前に確認のメッセージを表示します。
/F 読み取り専用ファイルを強制的に削除します。
/S 指定したファイルをすべてのサブディレクトリから削除します。
/Q ワイルドカードを使用して一括削除するときに確認のメッセージを表示しません。(Quiet モード)
/A 属性により削除するファイルを選択します。
属性 R 読み取り専用 S システム ファイル
H 隠しファイル A アーカイブ
I 非インデックス対象ファイル L 再解析ポイント
O オフライン ファイル – その属性以外

兄「del /Q *.txtと打てば検索結果がキャッシュから取って変な消し方をしたり、検索元が違ってて消したファイルを消しちゃったり、そういう操作ミスなくテキストファイルを消せるから…… 」
妹「検索にキャッシュを使わない、という方法が」
兄「コマンドライン使えよ!絶対覚えたらこっちの方が速いんだから!」
妹「兄……必死だな」