こんにちは私は3桁のフォーマットで1から200までのリストを印刷する方法を知りたいです。1から200まで印刷できますが、フォーマットの方法がわかりません。助けてください
FOR /L %%A IN (1,1,200) DO (ECHO %%A)
こんにちは私は3桁のフォーマットで1から200までのリストを印刷する方法を知りたいです。1から200まで印刷できますが、フォーマットの方法がわかりません。助けてください
FOR /L %%A IN (1,1,200) DO (ECHO %%A)
前に十分なゼロを含む変数を設定し、最後の数文字を使用して正しい範囲を指定する必要があります。遅延展開とは、使用される変数do
が に遭遇したときに 1 回だけ評価されるのではなく、変数が使用されるたびに評価されることを意味します。
この例では 1-200 が出力されます
@echo off
setlocal enabledelayedexpansion
for /l %%a in (1,1,200) do (
set test1=00%%a
set test2=!test1:~-3!
echo !test2!
)
@echo off
title Counter
SET /A XCOUNT=0
:loop
SET /A XCOUNT+=1
IF "%XCOUNT%" == "301" (
GOTO end
) ELSE (
IF %XCOUNT% LSS 100 (
IF %XCOUNT% LSS 10 (
echo 00%XCOUNT%
GOTO loop
) ELSE (
echo 0%XCOUNT%
GOTO loop
)
) ELSE (
echo %XCOUNT%
GOTO loop
)
)
:end
pause
長いことは知っていますが、うまくいきます!