複数のファイルのファイル名に連番を付ける方法

バッチファイル
スポンサーリンク

Windowsのバッチファイルを作成して複数のファイルのファイル名を3桁の連番にする方法です。この記事ではフォルダ内にある全部のテキストファイルのファイル名を連番にします。

実行環境:Windows8.1

スポンサーリンク

バッチファイルとは

バッチファイルというものを作成し、それを実行します。コマンドプロンプトではフォルダを作成したりファイル名を変更したりといった命令が実行できます。命令が沢山になると入力する手間がかかって大変になるのでその命令を一つのファイルにまとめて書きます。

そのファイルのことをバッチファイルといいます。バッチファイルを実行することでたくさんの命令を1回の手続きで実行することができます。

スポンサーリンク

ファイル名を連番にするバッチファイル

以下のバッチファイルはファイル名を連番にします。このバッチファイルでつけられる連番は0から999までです。なので変更できるファイル数は1000個です。

ファイルの名前によっては意図している順番に連番がつかない場合もあります。バックアップをとってから実行するようおすすめします。

@echo off
set num=0
setlocal enabledelayedexpansion
for %%f in (*.txt) do (
if 9 geq !num! (
	set num=00!num!
	ren "%%f" !num!.txt
	set num=!num:~2!
) else (
	if 99 geq !num! (
	set num=0!num!
	ren "%%f" !num!.txt
	set num=!num:~1!
	) else (
			ren "%%f" !num!.txt
	)
)
set /a num=num+1
)
endlocal
pause

上のコードをコピペし、renban.batなどと拡張子を.bat として保存してください。バッチファイルをダブルクリックすると、このバッチファイルのあるフォルダ内の全部のテキストファイル名を000からの連番にします。例えば000.txtなどに。

スポンサーリンク

バッチファイルのコードのおおざっぱな解説

2行目の set num=0 は連番の開始番号を設定します。0にすると連番が000から始まります。

4行目の for %%f in (*.txt) do  では バッチファイルのあるフォルダ内の全テキストファイルを扱うことを表しています。(*.txt)の部分(拡張子。ファイルの種類)を変更すると別の種類のファイルを扱うこともできます。

5行目から9行目までのブロックでは変数numが一桁のときの操作です。6行目でnumに00を付けて3桁にします。例えば1は001にします。7行目でファイル名を連番に変更しています。

8行目では3桁のnumを一桁に戻しています。

10行目から17行目までは変数numが2桁、3桁のときの操作を指定しています。

18行目でnumをインクリメントしています。

スポンサーリンク

連番にした

ファイル名を連番にしました。