コマンドプロンプトでファイル名の一部を変更する方法【ファイル名の一部を変更するバッチファイル】

最近、コマンドプロンプトで一気にファイル名を変更したく、ren(rename)についていろいろ調べたので、メモ程度に残しておきます。

転職をお考えなら、こちらの転職エージェントがおすすめ

dodaへ


拡張子を一気に変更

renとか、renameは、

ren *.jpg *.png

のように入力して拡張子を一気に変更することは可能。

例としては

aa.jpg、bb.jpg、cc.jpg

aa.png、bb.png、cc.png

に変更できます。

※ 「*」はワイルドカードで何がきてもいい、みたいな意味です。

ファイル名が同じ、拡張子が違うファイル名を一気に変更

ren test.* sample.*

test.txt、test.html、test.jpg を

sample.txt、sample.html、sample.jpg に変更できます。

変更する文字数が同じで、頭の文字から変更ならファイル名の一部を一気に変更可能

ren aa* bb*

aa_01.txt、aa_02.txt を

bb_01.txt、bb_02.txt に変更が可能です。

ちなみに文字数が違う場合は、

ren aa* bbbb*

の場合は

aa_01.txt、aa_02.txt が

bbbb1.txt、bbbb2.txt と変更され、上手くいきません。

ファイル名の間に挟まれている共通部分の変更ができない

ren *sample* *test*

これ、上手くいきません。

これは

test_aaaa.txt、sample_aaaa.txt

のファイル名を

test_bbbb.txt、sample_bbbb.txt

に変更する想定でした。

これをやりたかったのでいろいろ試したのですが・・・残念ながらできませんでした。

というわけで、バッチファイルを作って実行しました。

ファイルの中身は

echo off
for %%f in (*.txt) do call :change %%f
exit /b
:change
set fileName=%1
set fileName=%fileName:aaaa=bbbb%
ren %1 %fileName%

aaaa=bbbbの箇所で

何から何に変更するかを指定しています。

ここの文字の長さは同じでなくても大丈夫です。

aa=bbbbでも可能です。

なかなか、ファイル名を一気にかえるのも面倒くさいのだな〜と思いました。

こちらおおすすめの記事です。

プログラミングを学んで転職なら侍エンジニア塾がおすすめな3つの理由

アフェリエイトは稼げないと言われているがとりあえず登録した方がいい理由

こちらパワーシェルの本です。

コマンドプロンプトを学ぶならこの本がオススメみたいです。

ポケットに入らないポケットリファレンスらしい。

転職をお考えなら、こちらの転職エージェントがおすすめ

dodaへ


タイトルとURLをコピーしました