Linux Bashであればprintfを使用した書式設定で済むゼロパディング。
これをWindows batファイルで実現する方法の考え方は、元の数字の頭に最大桁数分の0を付けて、必要な桁数分だけ右側から抜き出すというもの。

: for文の中で!変数!で変数参照できるようにする。
setlocal enabledelayedexpansion

: 0がpad個ある文字列pad_numを作る。
set pad=3
set pad_num=
for /L %%i in (1, 1, %pad%) do (
    set pad_num=0!pad_num!
)
echo %pad_num%
: pad_numと数字を文字結合して、右からpad桁分だけ抜き出す。
set start=1
set end=10
for /L %%i in (%start%, 1, %end%) do (
    set num=!pad_num!%%i
    set num=!num:~-%pad%!

    echo !num! is zero padded. original number is %%i
)