【コマンドプロンプトを使いこなそう!】delコマンドの使い方まとめ

今回の記事では、Windowsのコマンドプロンプトでファイルを削除する方法を紹介します。

コマンドプロンプトで削除ってどうやるの?
複数のファイルをまとめて削除したい!
消そうとしたらアクセス拒否されてしまった…

という方へ向けて、

  • delコマンドの使い方
  • 目的別使い方

について紹介いたします。

なお、本記事を読む前にコマンドプロンプトをおさらいしておきたい人は、次の記事を参考にしてください。

コマンドプロンプトとは?できることや使い方を初心者向けに解説

目次

delコマンドについて

windowsでは、ファイルを削除するのにdelコマンドを使います。基本的な削除の方法は、

$del ファイルのパス

で削除ができます。この時、現在のディレクトリに消したいファイルがある場合は、ファイル名だけ入れれば削除できます。もし現在のディレクトリと異なる場合は、ファイルのパスを入力するかそのディレクトリに移動する必要があります。

ファイルのパスにも2種類あります。それは、絶対パスと相対パスです。

絶対パスはファイルのパスを一番頭から述べるパスの事で、現在のディレクトリがどこであっても対象となるファイルが一意に定まるパスです。一方、相対パスは現在のディレクトリから見てどの位置にあるかを述べるパスです。

消したいファイルが一つ上のディレクトリにある場合は、

$del ../ファイル名

現在のディレクトリ以下にある場合は、

$ del ./ファイル名

というように記載することで、相対的なパスを指定します。これらは用途や環境に合わせて使い分けましょう。また、もし削除の確認が必要な場合は、オプションに「/p」を付けて

$del /p ファイルのパス

とすることで、確認メッセージが表示されます。基本としてはこれだけおさえておけば大丈夫です!以降では、それぞれの目的にあわせて必要な知識を紹介いたします。

目的別使い方まとめ

複数のファイルを削除したい場合

複数のファイルを消したい場合、ワイルドカードを使い消したいファイル名のパターンを表現する必要があります。ワイルドカードとは、「任意の文字列を指定する際に使用する、意味を持った特殊文字」の事です。

言葉ではいまいち分かりにくいですね。実際の例を確認しましょう。例えば、以下のように構成されたディレクトリがあるとしましょう。

dir(現在のディレクトリ)
    ┣ text1.txt
    ┣ text2.txt
    ┗ text3.txt

これらをワイルドカードを使って全て削除しましょう。ここでは「*(アスタリスク)」を使い、以下のように記述します。

$del text*.txt

これで、上記3つのファイルが全て削除されます。「*(アスタリスク)」は、何かしらの文字が0文字以上ある事を意味しており、text1をはじめとし、text2,text3全てを削除対象とする事ができるのです。

もう一つ覚えていただきたいのが「?(クエスチョン)」です。こちらは、何かしらの文字が1文字ある事を意味しています。この2つを使い分ける事で、消したいファイルのパターンを表現し、まとめて削除する事ができます。

特定の拡張子のファイルを消す場合

今度は、特定の拡張子のファイルだけを消す方法を確認しましょう。やることは先ほど同様、ワイルドカードでパターンを決めれば良いのです。以下のような構成のディレクトリを例としましょう。

dir(現在のディレクトリ)
    ┣ text1.txt
    ┣ text2.txt
    ┣ csv1.csv
    ┗ img.png

このような時、「.txt」ファイルだけ削除するには、以下のようにします。

$del *.txt

ファイル名はワイルドカードとし拡張子だけ指定すると、特定の拡張子だけを消すことができます。

サブディレクトリのファイルも削除対象にしたい場合

delコマンドを使った場合、普通に行うと現在のディレクトリや指定したディレクトリ直下のファイルしか削除はされません。以下のような構造のディレクトリを例とします。

dir(現在のディレクトリ)
    ┣ text1.txt
    ┣ img.png
    ┗ dir2
        ┣ text2.txt
        ┗ dir3 
            ┗ text3.txt

ここで普通に「$del text*.txt」としても、text1.txtしか削除されません。サブディレクトリにあるファイルまで全てを消したい時は、オプションに「/s」をつけましょう。

$ del /s *.txt

これで、全ての「.txt」ファイルを削除することができます。

アクセス拒否されるファイルを消したい場合

ファイルを削除しようとした際、たまに

アクセスが拒否されました。

とエラーが帰ってくる事があります。このような時は、ファイルが読み取り専用となっている可能性があります。そんな時はオプションに「/f」をつけましょう。

$del /f ファイル名

これでアクセス拒否されてしまう読み取り専用ファイルも削除できます。また、システムファイルや隠しファイル、アーカイブについてもアクセス拒否される場合があります。全ての属性で削除させたい時は、オプションに「/a」をつける事で削除できます。

しかし、システムファイル等は特に重要なファイルである可能性が高いので、細心の注意を払ってよく確認してから削除しましょう。

ディレクトリごと削除したい場合

最後に、ディレクトリ自体を削除したい場合の削除方法を確認しましょう。ディレクトリ自体を削除させる場合は、「rd」コマンドを使います。使い方は

$rd /s ディレクトリ名

です。「/s」をつける事で、サブディレクトリやファイルを含めてまるっと削除できます。逆についていないと、空のディレクトリしか削除できないので要注意です。

まとめ

いかがでしたか?今回の記事では、

  • delコマンドの使い方
  • 目的別使い方

について紹介いたしました。削除コマンドは注意しないと事故の元ではありますが、使い方に慣れてくるとエクスプローラ等を使って削除するよりも楽だったりします。ここで使い方を覚えて、コマンドプロンプトをどんどん活用してください!

この記事を書いた人

【プロフィール】
DX認定取得事業者に選定されている株式会社SAMURAIのマーケティング・コミュニケーション部が運営。「質の高いIT教育を、すべての人に」をミッションに、IT・プログラミングを学び始めた初学者の方に向け記事を執筆。
累計指導者数4万5,000名以上のプログラミングスクール「侍エンジニア」、累計登録者数1万8,000人以上のオンライン学習サービス「侍テラコヤ」で扱う教材開発のノウハウ、2013年の創業から運営で得た知見に基づき、記事の執筆だけでなく編集・監修も担当しています。
【専門分野】
IT/Web開発/AI・ロボット開発/インフラ開発/ゲーム開発/AI/Webデザイン

目次