• ベストアンサー

リネームの為の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 ------- どなたかご教授ください。 よろしくお願いします。

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

  • ベストアンサー
noname#2685
noname#2685
回答No.4

#3 ittochanさんのを改変した、 for /f "tokens=1,2* delims=_" %%i in ('dir /b P_*.bmp') do ren %%i_%%j %%j で行けそうですね。 # 何年ぶりかで DOS の HELP、 # 勉強になりました(^^;。

t_n_t
質問者

お礼

改変ありがとうございます。 これでばっちりOKでした。

その他の回答 (3)

  • ittochan
  • ベストアンサー率64% (2667/4137)
回答No.3

一度ファイルに書き出して それを解析しては? 「_」を区切り文字として文字列を分解しなければならないと思いますよ。 WindowsXPでは、 dir /b p_*.bmp > myfile.txt for /F "tokens=1,2* delims=_" %%i in (myfile.txt) do ren %%i_%%j %%j このようにしてみました。

t_n_t
質問者

お礼

ありがとうございます。 文字を切り出すというのは全く考えもつきませんでした^^;; とても勉強になりました。

  • cbd_mei
  • ベストアンサー率55% (143/259)
回答No.2

面倒ですが、私がいつもやっている手順です。 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)
回答No.1

こんにちは。maruru01です。 直接の回答ではないのですが、ファイル名一括変換のフリーソフトとかを使用してはどうですか。 ベクターで探せばたくさん見つかります。 http://www.vector.co.jp とりあえず、私が使用しているFlexible Renamerというソフトを紹介します。 http://hp.vector.co.jp/authors/VA014830/ もっとも、batファイルでないとダメということなら、余計なことですが。

参考URL:
http://www.vector.co.jp,http://hp.vector.co.jp/authors/VA014830/
t_n_t
質問者

お礼

職業柄、自分でできそうなものはなんとかやってみたいと思っておりまして・・・ フリーソフトが手っ取り早いのはわかっているのですが。 教えていただきありがとうございました。

関連するQ&A

専門家に質問してみよう