- ベストアンサー
リネームの為のbatファイル作成
Bmpファイル名の頭に全てP_がついています。 それを削除するbatファイルを作成しています。 P_****.bmp→****.bmp 下記を作成しましたが、★の部分で詰まっています。 ------- @echo off IF EXIST b.bat del b.bat for %%I in (J_*.bmp) do echo ren %%I ★%%I>>b.bat call b.bat ------- どなたかご教授ください。 よろしくお願いします。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
#3 ittochanさんのを改変した、 for /f "tokens=1,2* delims=_" %%i in ('dir /b P_*.bmp') do ren %%i_%%j %%j で行けそうですね。 # 何年ぶりかで DOS の HELP、 # 勉強になりました(^^;。
その他の回答 (3)
- ittochan
- ベストアンサー率64% (2667/4137)
一度ファイルに書き出して それを解析しては? 「_」を区切り文字として文字列を分解しなければならないと思いますよ。 WindowsXPでは、 dir /b p_*.bmp > myfile.txt for /F "tokens=1,2* delims=_" %%i in (myfile.txt) do ren %%i_%%j %%j このようにしてみました。
お礼
ありがとうございます。 文字を切り出すというのは全く考えもつきませんでした^^;; とても勉強になりました。
- cbd_mei
- ベストアンサー率55% (143/259)
面倒ですが、私がいつもやっている手順です。 BMPのファイル名の形式は P_****.bmp でいいでしょうか。*は4文字であるという 前提で話を進めます。 まず、ファイルリストを取得します。「dir /b」でファイル名は取得できます。 あとは、文字列の置換ができるメモ帳ソフトなどで変更後のファイル名リストを作ります。 「P_」を「」(←文字無し)に置き換えて作るとか。 あとは、EXCELでA列には「ren」をB列には変更前のファイル名をC列には変更後 のファイル名を貼り付けてください。 ファイルの保存するときにファイル形式をカンマ区切りで保存する。 保存したデータのカンマを置換作業で取り除く これでできます。 で出来上がる中身のサンプルは ren P_0001.bmp 0001.bmp ren P_0002.bmp 0002.bmp ・ ・ ・ となります。ちょっと、質問の★の部分の回答になっていませんがご参考までに。
- maruru01
- ベストアンサー率51% (1179/2272)
こんにちは。maruru01です。 直接の回答ではないのですが、ファイル名一括変換のフリーソフトとかを使用してはどうですか。 ベクターで探せばたくさん見つかります。 http://www.vector.co.jp とりあえず、私が使用しているFlexible Renamerというソフトを紹介します。 http://hp.vector.co.jp/authors/VA014830/ もっとも、batファイルでないとダメということなら、余計なことですが。
お礼
職業柄、自分でできそうなものはなんとかやってみたいと思っておりまして・・・ フリーソフトが手っ取り早いのはわかっているのですが。 教えていただきありがとうございました。
お礼
改変ありがとうございます。 これでばっちりOKでした。