【コマンドプロンプトを使いこなそう!】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コマンドの使い方
  • 目的別使い方

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

LINEで送る
Pocket

SEからWebエンジニアへ転職した理由

侍エンジニア塾卒業生の小池さんは、以前は社内SEとして約5年ほど勤務していました。しかし業務内容は社内のヘルプデスク対応など、プログラムを書く仕事は全くなかったそうです。

SEながらプログラムを書けない現状に「将来仕事がなくなるんじゃないか」と不安を感じ、プログラミング学習を決意。

弊社スクールで学習し、無事ベンチャー企業のプログラマーとして転職に成功しました。そんな小池さんの学習法や転職体験談を伺いましたので、是非ご覧ください。

「プログラミングができないSEは仕事がなくなる」不安を感じたSEが未経験から転職成功するまで
更新日 : 2019年10月7日

書いた人

遠藤貴大

遠藤貴大

1991年生まれ。双子座。
理系大学で認証システムを学んだ後、アプリ開発者となる。
新しく学ぶ人に寄り添った記事を心がけて執筆します。
芸術が好き。いつか猫と暮らすのが夢。

おすすめコンテンツ

あなたにぴったりなプログラミング学習プランを無料で診断!

プログラミング学習の効率を劇的に上げる学習メソッドを解説