- ベストアンサー
ワイルドカードを使ってでフォルダを削除
kで始まるディレクトリを削除しようとして、コマンドプロンプトで rmdir /s /q k* と打つと、 「ファイル名、ディレクトリ名、またはボリューム ラベルの構文が間違っています。」 と言ってきます。 どうすれば、DOSコマンドで、kで始まるディレクトリをいっぺんに削除できますか。 WindowsXPです。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
こんな方法もありますよ。 for /F %a in ('dir /AD /B /W k*') do rmdir /S /Q %a XP限定ならば関係ないですけど、これならばどのWindowsでもいけるかと・・・
その他の回答 (3)
- deadline
- ベストアンサー率63% (1239/1943)
ANo.#2の補足です。 バッチファイル内で、"for"コマンドを使う場合には、 for /d %%1 in (k*) do rmdir /s /q %%1 と、"%1"を"%%1"にします。 詳しくは、 for /? で、"for"コマンドのヘルプを見て下さい。
- deadline
- ベストアンサー率63% (1239/1943)
"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/
- kakogome_mame
- ベストアンサー率32% (9/28)
この場合、 rmdir k* /s /q だと思いますが。
補足
ご回答のようにしても、 「ファイル名、ディレクトリ名、またはボリューム ラベルの構文が間違っています。」 と言ってきます。
お礼
ありがとうございました。参考になりました。