[PR]

コマンドラインで連番ファイル名の変更 (1)

例えば test01.txt test02.txt ... というファイルを coppola01.txt coppola02.txt ... に一括リネームしたいとかそういう話です。一応 01test.txt とか ana01coppola.txt みたいなファイル名にも使えますけどそんなファイル名はやめたほうがいいと思います。ちなみに一から十までコマンドラインでできる方法が知りたいという特殊性癖環境向けです。そうでもない限りは dir コマンドとエクセルとかでバッチファイルでも作ったり、フリーソフトかなんか拾ってきたりするほうがいいでしょう。

まずは一桁の連番なら単純に for /l %i in (0,1,9) do ren test%i.txt sample%i.txt といった感じでいけます。for を見慣れていないと戸惑うかもしれませんけど、要は ren test0.txt sample0.txt から ren test9.txt sample9.txt までを自動で実行しているだけです。(0,1,9) というのは 0 から 9 まで 1 ずつ増やすってことです。詳しいことは for /? でもするかぐぐれ。

C:\hoge>dir /b
test0.txt
test1.txt
test2.txt

C:\hoge>for /l %i in (0,1,2) do ren test%i.txt sample%i.txt

C:\hoge>ren test0.txt sample0.txt

C:\hoge>ren test1.txt sample1.txt

C:\hoge>ren test2.txt sample2.txt

C:\hoge>dir /b
sample0.txt
sample1.txt
sample2.txt

複数桁の場合、先頭のゼロ (leading zeros) が削られることが問題になります。つまり (00,1,99) は 00 01 02 ... 09 10 11 ... 98 99 ではなく 0 1 2 ... 9 10 11 ... 98 99 というふうに展開されてしまいます。勝手なことしないでほしいです。この場合は for /l %i in (0,1,9) do ren test0%i.txt sample0%i.txtfor /l %i in (10,1,99) do ren test%i.txt sample%i.txt という感じで桁ごとに分ければいいと思います。先頭のゼロがない連番ならそのままでいけます。

C:\hoge>dir /b /o:d
test07.txt
test08.txt
test09.txt
test10.txt
test11.txt
test12.txt
file8.txt
file9.txt
file10.txt
file11.txt

C:\hoge>for /l %i in (7,1,9) do ren test0%i.txt sample0%i.txt

C:\hoge>ren test07.txt sample07.txt

C:\hoge>ren test08.txt sample08.txt

C:\hoge>ren test09.txt sample09.txt

C:\hoge>for /l %i in (10,1,12) do ren test%i.txt sample%i.txt

C:\hoge>ren test10.txt sample10.txt

C:\hoge>ren test11.txt sample11.txt

C:\hoge>ren test12.txt sample12.txt

C:\hoge>for /l %i in (8,1,11) do ren file%i.txt data%i.dat

C:\hoge>ren file8.txt data8.dat

C:\hoge>ren file9.txt data9.dat

C:\hoge>ren file10.txt data10.dat

C:\hoge>ren file11.txt data11.dat

C:\hoge>dir /b /o:d
sample07.txt
sample08.txt
sample09.txt
sample10.txt
sample11.txt
sample12.txt
data8.dat
data9.dat
data10.dat
data11.dat

C:\hoge>

ちなみに dir コマンドのスイッチは見栄えのためにやってるだけなのであまり気にしないよう。

に続きます。

Post a comment

Sponsored Link
Information
Menu
アンケート
Sponsored Links
Links
Mail Form

名前:
メール:
件名:
本文: