2012年8月2日木曜日

桁を揃えて連番をすばやく作るバッチファイル

例えば、
「1から500までの間で連番のリストを作りたい。 そのときに、数字が一桁の場合は001、数字が2桁の場合は013というように常に表示が三桁になって桁が揃うようにしたい」
さらに
「1つおきに連番を作成したい」
なんていうことは結構日常的に発生することではないでしょうか?
そんなときには、次のバッチファイルが、作業を簡単に、あっという間に完了してくれます。


set /p StartNo=開始する番号を :
set /p FinalNo=最後の番号を :
set /p Kijun=(例)連続の場合は1 1つおきの場合は2、7つおきの場合は8 :
ここで、開始する番号、最後の番号、そして、連続か、非連続かを決定します。
連続、たとえば、1 2 3 4 5 6........としたい場合は1
非連続、たとえば、1 4 7 10 13 16........と2つおきにしたい場合は3という風に設定します。

if %%a leq 99 (
if %%a leq 9 (
set Num=00%%a) else (
set Num=0%%a)) else (
set Num=%%a)
echo !Num!)
ここで、該当する数字の桁数によって、数字の前につける0の数を決定します。
もしも数字が1桁なら00
もしも数字が2桁なら0
もしも数字が3桁なら0をつけない

@echo off
setlocal enabledelayedexpansion

set /p StartNo=開始する番号を :
set /p FinalNo=最後の番号を :
set /p Kijun=(例)連続の場合は1 1つおきの場合は2、7つおきの場合は8 :

for /l %%a in (%StartNo%,%Kijun%,%FinalNo%) do (
if %%a leq 99 (
if %%a leq 9 (
set Num=00%%a) else (
set Num=0%%a)) else (
set Num=%%a)
echo !Num!>>Test.txt)
pause 
このバッチファイルの使い方
1:スクリプトを全てコピーして、テキストエディタ(メモ帳)に貼り付ける。
2:出力結果を保存したいフォルダに、Renban.batとして保存する。
3:起動し、開始番号、終了番号、間隔を入力してEnterキーを押す。

上のサンプルの場合、Test.txtに保存されます。
保存ファイル名を変えたい場合は、保存したBatファイルの中の、Test.txtの部分を変更してください。
CSVファイル、HTMLファイルにも変更できます。


0 件のコメント:

コメントを投稿