• ベストアンサー

まとめてファイル名を変更したい

あるフォルダに存在するファイル名に”RAWDATA"を含むテキストファイルを 任意のファイル名でCSVに変更したいのですが、 バッチファイルで set /p filename= rename d:\あるフォルダ\RAWDATA*.txt %filename%*.csv で簡単にできるかなと思ったのですが、 ”RAWDATA”の部分は入力した分しか変更されないようでした。 例えば”abc”と入力すると”abcDATA”となります。 入力したファイル名に置き換わるようにするには どのようにしたら良いのでしょうか? バッチ初心者ですがよろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • notnot
  • ベストアンサー率47% (4900/10358)
回答No.1

RAWDATA001.txt, RAWDATA002.txt, ... を、abc001.csv, abc002.csv, .... とかにリネームしたいと言うことなら、renameコマンド一発では無理でしょう。 set /p filename for %%A in (d:\somewhere\RAWDATA*.txt) do call :ren "%%A" goto :EOF :ren rem ファイル名部分の取り出し set A=%~n1 rem RAWDATAの文字列を削除して、前にfilenameを追加 set A=%filename%%A:RAWDATA=% rename %1 %A%.csv goto :EOF かな。

関連するQ&A