• ベストアンサー

ワイルドカードを使ってでフォルダを削除

kで始まるディレクトリを削除しようとして、コマンドプロンプトで rmdir /s /q k* と打つと、 「ファイル名、ディレクトリ名、またはボリューム ラベルの構文が間違っています。」 と言ってきます。 どうすれば、DOSコマンドで、kで始まるディレクトリをいっぺんに削除できますか。 WindowsXPです。

質問者が選んだベストアンサー

  • ベストアンサー
  • catby
  • ベストアンサー率65% (50/76)
回答No.4

こんな方法もありますよ。 for /F %a in ('dir /AD /B /W k*') do rmdir /S /Q %a XP限定ならば関係ないですけど、これならばどのWindowsでもいけるかと・・・

その他の回答 (3)

  • deadline
  • ベストアンサー率63% (1239/1943)
回答No.3

ANo.#2の補足です。 バッチファイル内で、"for"コマンドを使う場合には、 for /d %%1 in (k*) do rmdir /s /q %%1 と、"%1"を"%%1"にします。 詳しくは、 for /? で、"for"コマンドのヘルプを見て下さい。

  • deadline
  • ベストアンサー率63% (1239/1943)
回答No.2

"rmdir"コマンドには、ワイルドカードが使えませんので、"for"コマンドと組み合わせて、ワイルドカードにマッチするディレクトリ名ごとに"rmdir"コマンドを実行するしかないのではないかと思います。 具体的には、 for□/d□%1□in□(k*)□do□rmdir□/s□/q□%1 (↑読みにくいですが、□は半角スペースです。□抜きだと、 for /d %1 in (k*) do rmdir /s /q %1 です。)   または、 for /d %1 in (k*.*) do rmdir /s /q %1 です。ディレクトリ名が半角のスペースを含む場合には、 for /d %1 in (k*) do rmdir /s /q "%1" と、"rmdir"コマンドの方だけ、"%1"とダブルクォーティションで囲ってください。 なお、"for"コマンドの"/d"オプションは、『コマンド拡張機能』が有効になっていないと使えません。 (XPはデフォルトで『コマンド拡張機能』が有効になっているので、問題はないと思いますが、"/d"オプションが使えない時には、下記参考URLをご覧ください。) 『Windows XPスマートチューニング  第95回コマンドプロンプトのコマンド拡張機能の設定を確認する』 http://pcweb.mycom.co.jp/column/winxp/095/

参考URL:
http://pcweb.mycom.co.jp/column/winxp/095/
noname#9105
質問者

お礼

ありがとうございました。参考になりました。

回答No.1

この場合、 rmdir k* /s /q だと思いますが。

noname#9105
質問者

補足

ご回答のようにしても、 「ファイル名、ディレクトリ名、またはボリューム ラベルの構文が間違っています。」 と言ってきます。

関連するQ&A