Batch file 批量实现多个For循环
我尝试在批处理中实现多个for循环,如:Batch file 批量实现多个For循环,batch-file,for-loop,Batch File,For Loop,我尝试在批处理中实现多个for循环,如: for x=1:10 for y=x+1:10 //my code end end 我的代码是: @echo off for /l %%x in (1,1,10) do ( for /l %%y in (%%y+1,1,10) do ( //my code ) ) 但是,它不起作用。有人能帮我吗?谢谢 @echo off setlocal enableDelayedExpansion for /l %%x in (1;,;1step;,;1
for x=1:10
for y=x+1:10
//my code
end
end
我的代码是:
@echo off
for /l %%x in (1,1,10) do (
for /l %%y in (%%y+1,1,10) do (
//my code
)
)
但是,它不起作用。有人能帮我吗?谢谢
@echo off
setlocal enableDelayedExpansion
for /l %%x in (1;,;1step;,;10#=101) do (
set /a inner=%%x+1
@@echo ###%%x is from outer loop###
for /l %%y in (,,,!inner!==1@==10times,9) do (
@@echo -----%%y is from inner loop
)
)
endlocal
简化的
@echo off
setlocal enableDelayedExpansion
for /l %%x in (1;1;10) do (
set /a inner=%%x+1
echo - %%x is produced from outer loop
for /l %%y in (!inner!;1;10) do (
echo --- %%y is produced from inner loop
)
)
我正在用一个更简单的脚本重新发布一个解决方案
@echo off
setlocal enableDelayedExpansion
for /l %%x in (1,1,10) do (
set /a inner=%%x+1
for /l %%y in (!inner!,1,10) do (
echo %%x, %%y
)
)
endlocal
pause
尝试将
%%y+1,1,10
更改为%%x+1,1,10
@Dale-将不起作用,在批处理中,您无法在中为定义进行数学运算。无意冒犯,但您这样写有什么原因吗?这很难理解,新手也不会有希望理解你的观点。@foxidrive-你说得对-我应该让它更简单。有时我倾向于表现出一种奇怪的幽默感……就我理解的问题而言,OP希望内部循环从%%x+1
开始。。。
@echo off
setlocal enableDelayedExpansion
for /l %%x in (1,1,10) do (
set /a inner=%%x+1
for /l %%y in (!inner!,1,10) do (
echo %%x, %%y
)
)
endlocal
pause