アプリ版:「スタンプのみでお礼する」機能のリリースについて

コマンドプロンプトのrenコマンドでフォルダ内の同一拡張子のファイル名の拡張子を一括変更することはできますが、
(例 ren *.txt *.htm )
拡張子以外の共通部分を拡張子を含む形で一括変更することはできませんか?
たとえば拡張子のないd01という文字列で終わるファイル名を一括してd01の部分を消して拡張子を.jpgにしたいのです。

A 回答 (7件)

失礼しました。

質問をきちんと読んでいませんでした。

例えば、d01で終わるということは、その前の文字の桁数は固定でしょうか? 例えば、0001d01、0002d02、d9212d01・・・といったように。

そうであれば、

ren ????d01 ????.jpg

でうまくいきませんか?
    • good
    • 0
この回答へのお礼

Netscapeのキャッシュフォルダの画像ファイルを縮小表示で一覧するためでした。桁数は固定です。
パッチファイルの方法のほうは
for %%f in ( *%char% ) do (
の行でエラーがでるようでうまくいきませんでした。

お礼日時:2006/10/01 05:36

補足です。



下の『★「d01」の前の文字数が同じでない場合』でバッチファイルを実行する場合、d01の前の文字数が同じ場合でももちろん機能します。
ファイルの末尾がd01のものは、d01を消しかつ拡張子jpgを付け足します。
    • good
    • 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を付加した形で、リネームされます。

ご参考まで。
    • good
    • 1

拡張子の無い「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

このような感じです。
参考になれば幸いです。
    • good
    • 0

下の、d9212d01→9212d01の誤りです。

    • good
    • 0

>たとえば拡張子のないd01という文字列で終わるファイル名を一括してd01の部分を消して拡張子を.jpgにしたいのです。



これは、拡張子がない”d01”というファイル名ということですよね? d01の部分を消すということは、他の文字に置き換えてxxxx.jpgという形にしたいのでしょうか?それとも単に拡張子を加えて、d01.jpgという形にしたいのでしょうか?

後者であれば、

ren * *.jpg

で可能では?
    • good
    • 0

Nameryというフリーソフトが使いやすくていいと思いますよ。



参考URL:http://www.remus.dti.ne.jp/~kuwa/index.html
    • good
    • 0

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