【发布时间】:2021-11-02 10:48:05
【问题描述】:
我有问题。这是我的代码:
set listPath=1 2
for %%n in (%listPath%) do (
setlocal enabledelayedexpansion
IF "!ver!"=="" (
:loop
echo Insert Version:
set /p "ver="
IF "!ver!"=="" (
echo Invalid!
Timeout /T 1 /NoBreak>nul
goto loop
) ELSE (
goto Next
)
:Next
)
echo ver: !ver!
pause > nul
)
因为它不起作用?每次我执行第一个循环然后退出 foreach 结束执行。另一方面,如果我省略了 set / p 一切正常并循环设置良好。为什么?如何在不中断循环的情况下将该用户输入放入循环中?谢谢
【问题讨论】:
-
1.因为您在循环中使用
goto。不要那样做。更改为call和2,您的:next标签也无效。它的第一个操作是),这被视为无效命令。 3.您的ifelse语句不平衡。从cmd看if /?
标签: batch-file