コマンドプロンプトを使ってみよう(初心者向け・フォルダ削除編)

「ファイル削除は出来たけど、フォルダ(ディレクトリ)ごと削除したい!」という方もいらっしゃると思います。ファイルだけ削除してディレクトリが残ってる状態は後で削除する必要があるので手間ですよね。プログラムやその他のバッチ処理に影響が出てしまうこともあります。なので、今回はフォルダ(ディレクトリ)の削除をコマンドプロンプトで実行する方法を紹介します。

ディレクトリの削除を実行する

 

ディレクトリの削除方法は簡単です。rdコマンドもしくはrmdirコマンドを使用します。どちらのコマンドも効果は一緒です。以下が基本形の記述です。※本記事では統一してrdコマンドで記述します。

rd c:\DirectoryPath

はい、たったこれだけです。特に難しいことはありません。ディレクトリのパスを指定するだけで削除が実行されます。但し、このディレクトリにサブディレクトリやファイルが存在する場合はDOS先生から「ディレクトリが空ではありません。」とお返事を頂きます。上記の記述は、あくまでも対象のディレクトリのみの削除の実行しか行いません。オプションを使用することでディレクトリの削除を拡張します。

 

ディレクトリ削除のオプションを使ってみよう

ではhelpコマンドを使用してDOS先生にオプションを尋ねてみましょう。コマンドプロンプトに以下を入力してEnterキーを押下します。

help dr

早速、DOS先生からお返事を頂きました。仕事が早いですね。

ディレクトリを削除します。
RMDIR [/S] [/Q] [ドライブ:]パス
RD [/S] [/Q] [ドライブ:]パス
/S 指定されたディレクトリに加えて、そのディレクトリ内のすべてのディレクトリとファイルを削除します。ディレクトリツリーを削除するときに使用します。
/Q /S を指定してディレクトリ ツリーを削除するときに、確認のメッセージを表示しません。(QUIET モード)

helpの表示にもあるように、rdコマンドとrmdirコマンドが表示されてますが、二つとも実行結果は同じです。オプションも同じ効果なので余り気にしないで下さい。そしてオプションは二つだけです。

 

ディレクトリの中身も含めて全て削除する

先述の通り、『rd c:\DirectoryPath』だけの場合、ディレクトリの中身に何かが存在しているとコマンドが実行されません。しかしながら、「/s」オプションを利用することで、ディレクトリの中にファイルやサブディレクトリが存在していても削除を実行します。

rd /s c:\DirectoryPath

これで実行すると、ディレクトリの中に何が存在していてもディレクトリごと削除してくれます。そして、何か色々と削除して良いか確認のメッセージが入るので、特に確認する必要のない場合は「/q」オプションも付与しても良いかもしれません。

rd /s /q c:\DirectoryPath

 

まとめ:delコマンドでも同じことは出来るが・・・

delコマンドをご存知の方はrdコマンドの存在意義に疑問を持つかもしれません。delコマンドでもrdコマンドと同等の効果を得るものがあります。但し、rdコマンドで「/s」オプションを使用すると、読み取り専用のファイルが存在していても強制的に削除が走ります。そこを意識する場合(例えば、読み取り専用のファイルを削除してはいけない場合があるのかは事前に検知して頂きたいのですが)、delコマンドを利用した方が良いです。読み取り専用も含めてディレクトリごと削除する場合はrdコマンドで良いと思います。