小编Ann*_*nna的帖子

在 if 和 for 循环中使用变量

我有以下代码:

echo off
set n=11
set m=12
set /a nme=3
set /a mdiff=nme-1
pause
if %n% NEQ %m% (
    if %mdiff% LEQ 3 (
        for /l %%C in (1,1,3) do (
            if %%C EQU 1 (
                set mon=Apr
            )
set num=1%mon%
        )
    )
)
echo %num%
pause
Run Code Online (Sandbox Code Playgroud)

这给了我输出1而不是1Apr. 但是,当我将set num=1%mon%所有 if 和 for 循环放在外面时,它会给出正确的结果。

请向我解释这里发生了什么以及如何在循环内获得正确的结果。

另外,最大深度iffor级别是多少?

windows batch

3
推荐指数
1
解决办法
2万
查看次数

标签 统计

batch ×1

windows ×1