新しく質問する

MS-DOSバッチファイルコマンドのrenを使用してファイル名を置換することができない役に立った:2件

  • 質問者:nana_watuki
  • 投稿日時:2007/08/01 20:40
  • 困り度:すぐに回答が欲しいです

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

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

この質問への回答は締め切られました。
このQ&Aは役に立ちましたか?(役に立った:2件)
  • 参考になった:0件

No.2ベストアンサー20pt

  • 回答者:notnot
  • 回答日時:2007/08/02 08:51

すいません。

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

通報する

この回答へのお礼

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

  • 参考になった:0件
  • 回答者:notnot
  • 回答日時:2007/08/02 03:26

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件)

このページのトップへ