我写了以下代码
choice /m "Do you want to add another profile"
if errorlevel 1 set /p profile_name1=Enter one of the above profile names:
然而它始终运行“输入上述配置文件名称之一:”即使我没有按下。我做错了什么?
谢谢!
答案 0 :(得分:2)
您需要为每个结果提供说明。 E.g:
choice /m "Do you want to add another profile"
if errorlevel 2 goto :doOtherStuff
if errorlevel 1 set /p profile_name1=Enter one of the above profile names:
:doOtherStuff
另请注意,订单很重要,您必须按降序列出错误级别(2然后是1)。
答案 1 :(得分:0)
首先,/ m不是您可以传递给选择的有效参数。尝试删除它,这可能是令人困惑的选择。
此外:
如果返回代码等于或更高,则IF ERRORLEVEL
返回TRUE,而不是指定的errorlevel。尝试检查每个可能的返回值(在您的情况下,是和否)
IF ERRORLEVEL 2 SET ANS="No"
IF ERRORLEVEL 1 SET ANS="Yes"
并在批处理文件的其余部分使用ANSwer的值。