コマンドプロンプトのrmdirでワイルドカードを代替する方法は?

コマンドプロンプトのrmdirでワイルドカードを代替する方法は?

コマンドプロンプトで使用できるコマンド・rmdirはワイルドカードと併せて複数のフォルダを削除しようとしても、エラーが起きてしまいますよね。この記事では、コマンドプロンプトのrmdirでワイルドカードが使用できない場合の代替方法についてご紹介しています。


目次[非表示]

  1. コマンドプロンプトのrmdirでワイルドカードを指定したい
  2. コマンドプロンプトのrmdirでワイルドカードを代替する方法

コマンドプロンプトのrmdirでワイルドカードを指定したい

コマンドプロンプトで使用できるコマンドには「rmdir」というものがあります。rmdirコマンドは、フォルダ(ディレクトリ)の削除に用いるコマンドです。rmdirコマンドの後に半角スペースを入れ「rmdir [オプション] [削除したいフォルダ]」のようにコマンドを入力することで、指定したフォルダを削除することができます。

ユーザーの中には、rmdirコマンドとワイルドカードを併せて使用して特定の条件に一致しているフォルダをまとめて削除したいという方もいらっしゃるかと思います。しかし、rmdirコマンドではワイルドカードによる指定が行えません。この記事では、rmdirコマンドでワイルドカードが使えないためどうやって複数のフォルダを削除することができるのか分からない…という場合の代替方法についてご紹介していきます。

コマンドプロンプトのrmdirでワイルドカードを代替する方法

コマンドプロンプト
コマンドプロンプトのrmdirでワイルドカードを代替する方法を説明します。rmdirコマンドでワイルドカードを使用してフォルダを削除する場合に、例として下記のコマンドを入力したとしましょう。
rmdir D:\A* /s /q

上記のコマンドを入力することで、ワイルドカードで名前が「A」から始まるフォルダをすべて削除しようという考えですが、残念ながらこのコマンドでは「ファイル名、ディレクトリ名、またはボリュームラベルの構文が正しくありません。」とエラーメッセージが表示されてしまいます。ではどうすればフォルダ名が「A」から始まるフォルダをすべて削除できるのかと言いますと、下記のコマンドを用います。

for /f %i in ('dir /a:d /s /b A*') do rd /s /q %i

これは、「for文」を併せて使用しているものです。for文を用いることでワイルドカードでフォルダ削除を行うことができるようになります。


関連記事