我有一个if循环,它将显示LOOPMAX之前的所有值。我的问题是我希望以FOR / L结构的形式输出相同的输出。我有点困惑,我想知道是否可以这样做。
SET LOOPMAX=6
IF %count% GTR %LOOPMAX% GOTO END
ECHO. %test%
SET /A COUNT=%count%+1
GOTO BEGINLOOP
:END
因此,如果LOOPMAX设置为6而不是输出:
01 test
02 test
03 test
04 test
05 test
06 test
我需要来自FOR / L的确切输出。
非常感谢任何帮助,谢谢你。
答案 0 :(得分:1)
@echo off
setlocal EnableDelayedExpansion
set count=100
for /L %%i in (1,1,%loopmax%) do (
set /A count+=1
echo !count:~-2! test
)
编辑:回复评论
如果你想要那个"值不是全部测试,并且有些不同,比如说01 01,02 2,03 3",那么你必须提前准备所需的值,然后使用用于在echo
命令中选择适当值的索引。可以使用数组实现此管理:
@echo off
setlocal EnableDelayedExpansion
rem Create the array of number names
set i=0
for %%a in (one two three four five six) do (
set /A i+=1
set number[!i!]=%%a
)
set loopmax=6
rem Show two-digits numbers and number names
set count=100
for /L %%i in (1,1,%loopmax%) do (
set /A count+=1
echo !count:~-2! !number[%%i]!
)
输出:
01 one
02 two
03 three
04 four
05 five
06 six
您可以在this post查看有关阵列管理的详细说明。
答案 1 :(得分:0)
setlocal enabledelayedexpansion
for /l %%i in (1,1,%loopmax%) do (
set t=00%%i
echo !t:~-2! test
)