質問

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 となってしまいます。

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

通報する

回答 (2件)

すいません。

誤:for %%A (*__*) do call :sub %%A
正:for %%A in (*__*) do call :sub %%A

この回答へのお礼

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

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

この回答への補足

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

このQ&Aは役に立ちましたか?2 件

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

新しく質問する

注目の記事

「都市伝説の実態4」 フリーメイソンとは!?目的・活動に迫る

人気シリーズ第4弾![都市伝説]フリーメイソンとは!?知られざるフリーメイソンの目的・活動・入会・フリーメイソンに加入していた有名人について迫ってみました。またフリーメイソンと「イルミナティ」との関係は!?


新しく質問する

このカテゴリの人気Q&Aランキング

毎日見よう!教えて!gooトゥディ

べんりQ&A特集