みんなの「教えて(疑問・質問)」にみんなで「答える」Q&Aコミュニティ

こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

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

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

バッチ初心者ですがよろしくお願いします。

投稿日時 - 2010-02-18 23:28:33

QNo.5688133

困ってます

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

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

かな。

投稿日時 - 2010-02-19 02:21:14

ANo.1

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

2人が「このQ&Aが役に立った」と投票しています

回答(1)

あなたにオススメの質問