解決済みの質問
失礼しました。質問をきちんと読んでいませんでした。
例えば、d01で終わるということは、その前の文字の桁数は固定でしょうか? 例えば、0001d01、0002d02、d9212d01・・・といったように。
そうであれば、
ren ????d01 ????.jpg
でうまくいきませんか?
投稿日時 - 2006-09-30 23:01:32
お礼
Netscapeのキャッシュフォルダの画像ファイルを縮小表示で一覧するためでした。桁数は固定です。
パッチファイルの方法のほうは
for %%f in ( *%char% ) do (
の行でエラーがでるようでうまくいきませんでした。
投稿日時 - 2006-10-01 05:36:09
18人が「このQ&Aが役に立った」と投票しています
ベストアンサー以外の回答(6件中 1~5件目)
★「d01」の前の文字数が同じである場合
拡張子の無い「d01」で終わるファイル名、例えば、
「AAAAd01」「BBBBd01」・・・「ZZZZd01」
の場合、d01の前にある文字数が同じならば、?を1文字として以下のコマンドを実行します。
ren ????d01 ????.jpg
上の場合は、「AAAAd01」といったように「d01」の前の文字数が4つある場合です。「?」は任意の1文字を表します。
例えば、「d01」の前の文字数が5つある場合は、
ren ?????d01 ?????.jpg
となります。
★「d01」の前の文字数が同じでない場合
変換したいファイルが「C:\Photo」というディレクトリに
「AAAAd01」、「555sQ1d01」、「9dkkkdsd01」といった形であり、「d01」の前の文字数がそれぞれ違います。
そこで、「C:\Photo」ディレクトリの中に、「conv.bat」というバッチファイルを作ります。
(拡張子は「bat」で、ファイル名はなんでも構いません。)
「conv.bat」を右クリックし、メニューから編集を選択すると、メモ帳が開くので、次の内容をそのまま
コピペしてください。
<!--この下から-->
setlocal ENABLEDELAYEDEXPANSION
set char=d01
set ext=jpg
for %%f in ( *%char% ) do (
set fname=%%~nf
set fname=!fname:~0,-3!
ren %%f !fname!.%ext%
)
<!--この上まで-->
コピペしたら、上書き保存で、保存します。
保存後、「conv.bat」をダブルクリックすると、このバッチファイルが実行され、
「AAAAd01」、「555sQ1d01」、「9dkkkdsd01」といったファイルが、それぞれ「AAAA.jpg」、「555sQ1.jpg」、「9dkkkds.jpg」
といった形で、d01を省きかつ拡張子jpgを付加した形で、リネームされます。
ご参考まで。
投稿日時 - 2006-10-01 01:13:32
拡張子の無い「d01」で終わるファイル名というのは
例えば「aaad01」「bbbd01」…「zzzd01」というようなものでしょうか?
もしd01の前にある文字数が定型で同じであればコマンドプロンプトのワイルドカード「*」ではなく、任意の一文字を表す「?」を用いれば変換することが出来ます。
例.
c:\temp>dir
001d01
002d01
003d01
004d01
005d01
006d01
c:\temp>rename ???d01 ???.jpg
c:\temp>dir
001.jpg
002.jpg
003.jpg
004.jpg
005.jpg
006.jpg
このような感じです。
参考になれば幸いです。
投稿日時 - 2006-09-30 23:11:11