我正在批处理文件中设置退出的条件语句。
:choice set /P c=是否要退出 [y/n]? if /I "%c%" EQU "Y" goto :optA if /I "%c%" EQU "N" goto :optB goto :choice :optA pause exit :optB pause >nul
pause >nul不起作用如预期。
我希望在上述代码中的退出选项中选择“否”后能够控制命令提示符。
问题出现的原因是在批处理文件执行完后,无法手动控制命令提示符(cmd)。解决方法是在批处理文件中添加:optB,然后在该标签下添加cmd /k或cmd.exe命令。这样在选择B选项时,会在同一个窗口中启动cmd实例,并且在批处理文件执行完后保持该实例可手动控制。另外,也可以使用cmd命令,不带扩展名。使用pause> nul命令无效,正确的命令是pause。某些情况下,会显示一个询问消息,可以尝试使用cmd /k版本来解决。最后,使用cmd /k命令成功解决了问题。
:optB
cmd /k
cmd.exe
cmd
pause> nul
pause
用户名或电子邮箱地址
密码