【Windows 10/11】delコマンドで「フォルダ内の削除」「サブフォルダの削除」「削除できない」にハマらない方法Tech TIPS

コマンドプロンプト上でファイルを削除するには「del」コマンドを用いる。ただ、複数ファイルを意図した通りに削除するのは意外に難しい。フォルダ内のファイル削除やサブフォルダ自体の削除、デフォルトだと削除できないファイルなど、delコマンドで「ハマりやすい」パターンの対処方法と注意点を説明する。

» 2023年11月27日 05時00分 公開
「Tech TIPS」のインデックス

連載目次

ハマりやすい「del」コマンドの複数ファイル削除を使いこなす

対象:Windows 10/Windows 11、Windows Server 2016/Windows Server 2019/Windows Server 2022


 コマンドラインで利用できる「del(erase)」コマンドには、特定のパターンに合致する全ファイルを手軽かつ確実に削除できるなど、エクスプローラーにはない便利さがある。その一方で使い方を誤ると、残したかったファイルが削除されてしまう「事故」が生じやすいコマンドでもある。

 例えば、「Microsoft Word」の古い文書ファイル形式である拡張子「.doc」のファイルを削除しようとして、「del *.doc」とすると、新しい形式である拡張子「.docx」のファイルも削除されてしまう(8.3形式のファイル名を生成している場合。詳細は、Tech TIPS「8.3形式の短いファイル名を生成しないようにする」参照のこと)。

 そこで、まずはdelコマンドの基礎的な注意点から解説する。その後、ファイル名やパターンに一致した複数ファイル、サブフォルダ自体、フォルダ内の全ファイル、デフォルトではエラーが生じて削除できないファイルなどを削除する方法をそれぞれ説明していく。

コマンドプロンプトでファイルを削除するにはdelコマンド

 コマンドプロンプトでファイルを削除する場合、通常はdelコマンド(もしくはeraseコマンド。どちらでも同じ)に削除したいファイル名やワイルドカード指定を付けて実行すればよい。このコマンドの使い方は次の通りである。

 削除したいファイルが複数ある場合は、delコマンドの引数として複数並べてもよいし、ワイルドカードで指定することもできる。ファイル名に空白文字が含まれている場合は、「"(ダブルクオート記号)」で囲む。コマンドプロンプトの基本的な使い方については、Tech TIPS「これだけは覚えておきたいコマンドプロンプトの使い方」も参照のこと。

 実際に使用すると次のようになる。delコマンドを実行すると、基本的には削除の確認なしにすぐ削除されるので十分に注意して実行すること。ファイル名のパターンとして「*」もしくは「*.*」を指定するか、「/p」オプションを付けると確認メッセージが表示されるので、[Y]キーを入力した場合のみ削除が実行される。「/q」オプションを付けた場合は、確認なしで削除される。

dirコマンドの基本的な使い方――複数ファイルの削除 dirコマンドの基本的な使い方――複数ファイルの削除

dirコマンドの基本的な使い方――全ファイルの削除 dirコマンドの基本的な使い方――全ファイルの削除

【注意】delコマンドで削除したファイルは[ごみ箱]から復旧できない

 エクスプローラーでファイルを削除する場合と違って、delコマンドでファイルを削除すると、[ごみ箱]には残らない。削除したファイルを復活させるには、「以前のバージョン」機能を使うか(Tech TIPS「上書き/削除したファイルを『以前のバージョン』で復旧させる」参照)、バックアップからリストアするなどの必要があり、大変面倒なことになる。

【注意】フォルダ名を指定するとその中のファイルが全て削除される

 削除対象としてフォルダ名(ディレクトリ名)を指定すると、そのフォルダの中にある全ファイルが削除対象となるので(例:「del folder」は「del folder\*」や「del folder\*.*」と同じになる)、ファイル名と間違ってフォルダ名を指定して削除しないように注意すること。なお、「del .」は「del *.*」と同じである。

フォルダ名を指定するとその中が全て削除される フォルダ名を指定するとその中が全て削除される

【注意】delコマンドではフォルダを削除できない

 delコマンドは、ファイルを削除できる一方で、フォルダを削除できない。例えば前述のようにフォルダ名を指定した場合、フォルダ内のファイルは削除される一方で、指定したフォルダそのものや、その中にあるサブフォルダは削除されない。

 フォルダごとまとめて削除したければ、「rmdir(rd)」コマンドを利用する。

フォルダごとまとめて削除するにはrmdirコマンドを使う フォルダごとまとめて削除するにはrmdirコマンドを使う

 カレントフォルダの中にあるファイルとフォルダをまとめて削除したければ、「rmdir /s .」とすればよい。

「rmdir /s .」でカレントフォルダの中にあるファイルとフォルダをまとめて削除 「rmdir /s .」でカレントフォルダの中にあるファイルとフォルダをまとめて削除

delコマンドでサブフォルダ内のファイルまでまとめて削除するには?

 現在のフォルダの下にある、指定したパターンにマッチするファイルを全て削除するには「/s」オプションを付けて実行すればよい。

 単に「del /s *.txt」のようにすると、現在のフォルダから下にある全ての*.txtファイル(拡張子がtxtのファイル)を削除できる。

 「del /s c:\doc\work1\*.txt」のようにフォルダ名を前に付けてワイルドカード指定すると、そのフォルダ(この場合はc:\doc\work1)以下にある全ての*.txtファイルをまとめて削除できる(フォルダそのものは削除されない。削除されるのは、その中にあるファイルだけ)。

ワイルドカードを使って特定の拡張子のファイルを削除する――カレントフォルダの場合 ワイルドカードを使って特定の拡張子のファイルを削除する――カレントフォルダの場合

ワイルドカードを使って特定の拡張子のファイルを削除する――別のフォルダの場合 ワイルドカードを使って特定の拡張子のファイルを削除する――別のフォルダの場合

 この場合も確認なしで該当するファイルが全て削除されるので(削除されたファイル名は表示される)、よく確認してから実行すること。

 何が削除されるかよく分からない場合は、まず「dir /s *.txt /b」や「dir /s c:\doc\work1\*.txt /b」などを実行して、どのファイルが削除対象になるかを確認するとよい。dirコマンドの使い方については、Tech TIPS「Windowsのdirコマンドでファイル名の一覧を取得する」も参照してほしい。また「/p」オプションを付けて、余計なファイルが削除されないかどうか、確認表示させてもよいだろう。

 ただし「dir /s 〜」と違って、「del /s 〜」ではシンボリックやジャンクションのリンク先はたどれない。フォルダへのリンクの指す先にファイルが存在しても、それらは削除されない。「cd」コマンドなどでリンク先へ移動してから削除するか、「del /s <リンク先>\<対象ファイル名>」のように明示的にパスを指定すること(リンクについてはTech TIPS「Windowsのシンボリックリンクとジャンクションとハードリンクの違い」参照)。

読み取りのみやシステム/隠し属性の付いたファイルを削除するには?

 delコマンドでは、何も属性が付いていないファイルはそのまま削除できる。しかし、読み取りのみの属性の付いたファイルはそのままでは削除できない(ファイルの属性は「attrib」コマンドで確認できる)。

 読み取りのみの属性の付いたファイルを削除するには、事前にattribコマンドなどで読み取りのみ属性(R属性)を外すか、「/f」オプションを付けてdelコマンドを実行する。

読み取りのみファイルを削除するには「/f」オプションを使う 読み取りのみファイルを削除するには「/f」オプションを使う

 読み取りのみ以外の属性、例えばシステム属性(S属性)や隠し属性(H属性)の付いたシステムファイル(例:Thumbs.dbなど。Tech TIPS「WindowsでThumbs.dbファイルを作成しないようにする」)は、デフォルトのままではdelコマンドの削除の対象とならない(dirコマンドでもSやH属性の付いたファイルが表示されないのと同じ理屈だ)。

 S属性を持つファイルを削除するには「/as」を、H属性を持つファイルなら「/ah」オプションを、それぞれ付けてdelコマンドを実行する。複数の属性をまとめて対象とするなら「/a」オプションだけでもよい。

属性を持つファイルを削除する――「S」「H」属性が付いている場合 属性を持つファイルを削除する――「S」「H」属性が付いている場合

属性を持つファイルを削除する――「R」属性も付いている場合 属性を持つファイルを削除する――「R」属性も付いている場合

delコマンドのヘルプを表示させるには

 delコマンドのヘルプは、他のコマンドラインコマンドと同じく、「/?」オプションを付けると表示できる。

delコマンドのヘルプを表示する delコマンドのヘルプを表示する

■関連リンク


■更新履歴

【2023/11/27】Windows 11などに対応しました。

【2019/12/06】画面などを追加しました。

【2017/01/23】初版公開。


「Tech TIPS」のインデックス

Tech TIPS

Copyright© Digital Advantage Corp. All Rights Reserved.

スポンサーからのお知らせPR

注目のテーマ

AI for エンジニアリング
「サプライチェーン攻撃」対策
1P情シスのための脆弱性管理/対策の現実解
OSSのサプライチェーン管理、取るべきアクションとは
Microsoft & Windows最前線2024
システム開発ノウハウ 【発注ナビ】PR
あなたにおすすめの記事PR

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。