プロが教える店舗&オフィスのセキュリティ対策術

rmdir /s /q f:\back.dir\??02 が
ファイル名、ディレクトリ名、またはボリュームラベルの構文が間違っていますとなります。
ワイルドカード「??」が問題なのでしょうけえど、書き方がわかりません。
お教えください。

質問者からの補足コメント

  • へこむわー

    媒体f:に、バックアップを「月日」で取ろうと考えました。
    4月2日のバックアップは「0402」フォルダに収めます。
    このまま蓄積していくと、媒体が満杯になりますので、過去の1か月分のみを残す仕様とし、
    つまり、バックアップを取る前に、前回の同日の過去データをf:媒体から削除しようと
    考えたのです。
    つまり、rmdir ??02です。
    それがかなわないようですので、結局
    rmdir 0102
    rmdir 0202
    rmdir 0302
    ・・・
    ・・・
    rmdir 1202
    というように想定される、01~12までの12コマンドを実行させてから、バックアップを取るという
    ソフトにしました。
    「綺麗く」ありませんが、しかたがないようです。
    ありがとうございます。

      補足日時:2016/04/03 21:14

A 回答 (4件)

rmdir にワイルドカードは使えません。



for /d %%A in (f:\back_dir\??02) do rmdir /s /q %%A

バッチファイルに書くので無く直接打ち込んで実行するなら、%%A でなく %A にしてください。
    • good
    • 0
この回答へのお礼

ありがとうございます。
日頃unixを使っていますので、??が記述できるものと思っていました。
使えないのですね。
なかなか不便ですね。
サンプルまで記入いただき、ありがとうございました。

お礼日時:2016/04/02 23:30

>それがかなわないようですので


??

わたしの回答でいいのでは?
    • good
    • 0
この回答へのお礼

そう、そう、そうです。

お礼日時:2016/04/03 22:49

Unix使いのためのWindowsコマンドプロンプトの注意点



Unixでは、?とか*はシェルが展開して、その結果がコマンドに渡される。
よって、どんなコマンドでも使える。

Windowsでは、 そのような展開はされない。
どう解釈するかは、各コマンド次第
    • good
    • 0
この回答へのお礼

ありがとうございました。

UNIXでは「ls」でも「rmdir」でもワイルドカードが使用できますが、
DOSでは使えるコマンド(dir)と使えないコマンド(rmdir)があるのですね。
なかなかDOSは難しいですね。

お礼日時:2016/04/03 21:06

ワイルドカードは「*」です。



rmdir /s /q f:\back.dir\*02

と書けば良いと思います。
rmdir の前に
dir f:\back.dir\*02
で確認したほうが良いでしょう。
    • good
    • 0
この回答へのお礼

ありがとうございます。
*も使えませんでした。

お礼日時:2016/04/02 23:27

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!