在批处理文件执行后手动控制命令提示符

21 浏览
0 Comments

在批处理文件执行后手动控制命令提示符

我正在批处理文件中设置退出的条件语句。

: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不起作用如预期。

我希望在上述代码中的退出选项中选择“否”后能够控制命令提示符。

0
0 Comments

问题出现的原因是在批处理文件执行完后,无法手动控制命令提示符(cmd)。解决方法是在批处理文件中添加:optB,然后在该标签下添加cmd /kcmd.exe命令。这样在选择B选项时,会在同一个窗口中启动cmd实例,并且在批处理文件执行完后保持该实例可手动控制。另外,也可以使用cmd命令,不带扩展名。使用pause> nul命令无效,正确的命令是pause。某些情况下,会显示一个询问消息,可以尝试使用cmd /k版本来解决。最后,使用cmd /k命令成功解决了问题。

0