プロが教えるわが家の防犯対策術!

デジカメから取り込んだ写真が DSCF9352.JPG などとなってまして、
これを 9352.jpg にしたいと思ってます。

まず、rename でダイレクトに大文字から小文字に変換は出来ますか?
試したところ出来なかったのでこちらでやりました。

rename *.JPG *.JPP
rename *.JPP *.jpg

次に DSCF9352.jpg の DSCF を削除したいのですが、
それは可能でしょうか?

rename DSCF* *

とは出来ないようですね
rename コマンド以外でも、なにか方法あればよろしくお願いします。

A 回答 (2件)

Tacosanさんの指摘が参考になりましたので、勉強してみました。


残念ながら、2つのバッチファイルになりましたが試してみてください。
次の条件を仮定しています。
・ ファイル名の"DSCF"は固定で、一度しか現れない。
・ 必要なら、Pathの通ったところに保存しておく。
  または、自分用のディレクトリを作成しPathを通す。

---------------------------------------------------------------------------
:
:rn1.bat
:
@echo off


for %%f in ( DSCF*.jpg ) do ( call rn2.bat %%f )


---------------------------------------------------------------------------
:
:rn2.bat
:
@echo off


set fn=%1
echo %fn% ---> %fn:DSCF=%
rename %fn% %fn:DSCF=%

---------------------------------------------------------------------------
バッチで一時的に呼び出すため、ファイル名で使われる多くの環境変数%fn%は
消さなくても残らないようです。
    • good
    • 0

filename という名前の環境変数に DSCF9352.jpg という値が入っているとすると, %filename:DSCF=% で 9352.jpg になります.


だから
for %f in (DSCF*.jpg) do (set fn=%f & rename %fn% %fn:DSCF=%)
でできるかもしれない. ただしこちらでは全く試していないし間違っていると大変なので覚悟はしておくこと.
詳細は for /? とか set /?.
    • good
    • 0
この回答へのお礼

ちょっと危険ということなので
マニュアルをじっくり読んでからやってみますね
回答ありがとうございました。

お礼日時:2008/02/19 13:11

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!