1

こんにちは私は3桁のフォーマットで1から200までのリストを印刷する方法を知りたいです。1から200まで印刷できますが、フォーマットの方法がわかりません。助けてください

FOR /L %%A IN (1,1,200) DO (ECHO %%A)
4

2 に答える 2

4

前に十分なゼロを含む変数を設定し、最後の数文字を使用して正しい範囲を指定する必要があります。遅延展開とは、使用される変数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!
)
于 2012-10-24T21:24:07.030 に答える
3
@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

長いことは知っていますが、うまくいきます!

于 2012-10-25T12:33:33.067 に答える