echo off cls rem 作業フォルダ名 必ず最後尾に\ ( 例:R:\ ) rem 空白を含んでいるフォルダも OK です。""で囲まなくても OK set fol=R:\ rem 作業拡張子 ( 例:txt ) set kaku=txt rem 作業の出力フォルダ ( 例:R:\001\test. => 001のフォルダにtestの名前で出力 ) rem フォルダにスペースが入ると正常動作しないです rem ( ×例:R:\0 1\test. ) rem ( ×例:R:\001\te st. ) set out_fol=R:\001\test. rem 指定フォルダのファイルを取得 dir "%fol%*.%kaku%" /o:n /a:-d /t /b > %out_fol%log rem バッチファイルに追加 @echo @echo off >> %out_fol%bat @echo cd /d "%fol%" >> %out_fol%bat rem 初期値 0 指定 set /a num=0 rem この行がないとエラーです setlocal enabledelayedexpansion rem 1行ずつ命令実行 for /f "delims=" %%l in (!out_fol!log) do ( rem 数値を増加 set /a num=num+1 rem 4桁の先頭 0 指定 if !num! geq 0 if !num! leq 9 set keta=000 if !num! geq 10 if !num! leq 99 set keta=00 if !num! geq 100 if !num! leq 999 set keta=0 if !num! geq 1000 if !num! leq 9999 set keta= rem バッチファイルに出力 @echo ren "%%l" "!keta!!num!.!kaku!">> !out_fol!bat )