- ベストアンサー
コマンドプロンプトでファイル名一括変更
コマンドプロンプトのrenコマンドでフォルダ内の同一拡張子のファイル名の拡張子を一括変更することはできますが、 (例 ren *.txt *.htm ) 拡張子以外の共通部分を拡張子を含む形で一括変更することはできませんか? たとえば拡張子のないd01という文字列で終わるファイル名を一括してd01の部分を消して拡張子を.jpgにしたいのです。
- みんなの回答 (7)
- 専門家の回答
質問者が選んだベストアンサー
失礼しました。質問をきちんと読んでいませんでした。 例えば、d01で終わるということは、その前の文字の桁数は固定でしょうか? 例えば、0001d01、0002d02、d9212d01・・・といったように。 そうであれば、 ren ????d01 ????.jpg でうまくいきませんか?
その他の回答 (6)
- akif1980
- ベストアンサー率100% (1/1)
補足です。 下の『★「d01」の前の文字数が同じでない場合』でバッチファイルを実行する場合、d01の前の文字数が同じ場合でももちろん機能します。 ファイルの末尾がd01のものは、d01を消しかつ拡張子jpgを付け足します。
- akif1980
- ベストアンサー率100% (1/1)
★「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を付加した形で、リネームされます。 ご参考まで。
- grizzlycat
- ベストアンサー率47% (21/44)
拡張子の無い「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 このような感じです。 参考になれば幸いです。
- akif1980
- ベストアンサー率100% (1/1)
下の、d9212d01→9212d01の誤りです。
- akif1980
- ベストアンサー率100% (1/1)
>たとえば拡張子のないd01という文字列で終わるファイル名を一括してd01の部分を消して拡張子を.jpgにしたいのです。 これは、拡張子がない”d01”というファイル名ということですよね? d01の部分を消すということは、他の文字に置き換えてxxxx.jpgという形にしたいのでしょうか?それとも単に拡張子を加えて、d01.jpgという形にしたいのでしょうか? 後者であれば、 ren * *.jpg で可能では?
Nameryというフリーソフトが使いやすくていいと思いますよ。
お礼
Netscapeのキャッシュフォルダの画像ファイルを縮小表示で一覧するためでした。桁数は固定です。 パッチファイルの方法のほうは for %%f in ( *%char% ) do ( の行でエラーがでるようでうまくいきませんでした。