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

MS-DOSバッチファイルコマンドのrenを使用して sample1__01.txt と sample2__02.txt の
__(アンダーバー2個)を_test_に置換して、sample1_test_01.txt とsample2_test_02.txt が
自動でできあがるようにしたいのですがうまくいきません。

見よう見まねで ren *__*.txt *_test_*.txt と書いて実行させてみたのですが
sample1__test_.txt と sample2__test_.txt となってしまいます。

どうすれば思いどうりの結果を得ることができるのでしょうか?
ご存知の方がおられましたらご回答をよろしくお願いします。

A 回答 (2件)

すいません。



誤:for %%A (*__*) do call :sub %%A
正:for %%A in (*__*) do call :sub %%A
    • good
    • 0
この回答へのお礼

早速やってみたところ問題を解決することができました。
ご回答していただきどうもありがとうございました。

お礼日時:2007/08/02 20:09

ren コマンドで * が使えるのはきわめて限定的なケースです。


ren A*.txt B*.txt のような。

バッチファイルを使って、1つずつリネームするしかないですね。
for %%A (*__*) do call :sub %%A
goto :eof
:sub
set A=%1
ren %A% %A:__=_test_%
goto :eof

この回答への補足

上記の記述をコピー&ペーストしてバッチファイルを実行してみたのですが
ファイル名を変更することができませんでした。
何かやり方に問題があったのでしょうか?

補足日時:2007/08/02 07:41
    • good
    • 0

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