命令提示符窗口在执行选择后关闭

问题描述:

我已经成功完成了一个批处理,几乎可以做所有我想要的东西现在如何让命令提示符窗口在执行后保持打开以供进一步输入?命令提示符窗口在执行选择后关闭

pushd %~dp0 
 
@ECHO OFF 
 
cls 
 
title XNB NODE 
 
:home 
 
echo. 
 
echo What would you like to do? 
 
echo ============= 
 
echo. 
 
echo 1) Extract all XNB files and output to YAML folder 
 
echo 2) Pack all YAML files and output to XNB folder 
 
echo 3) Exit 
 
echo. 
 
set /p web=Type option: 
 
if "%web%"=="1" xnb_node.cmd extract Xnb Yaml 
 
if "%web%"=="2" xnb_node.cmd pack Yaml Xnb 
 
if "%web%"=="3" exit 
 
goto home

+0

请向我们展示您已完成的代码。 –

+0

'CMD'作为文件扩展名通常表示该文件也是批处理文件(仅在Windows Server 2008和Windows Vista或更高版本中受支持)。尝试在'xnb_node.cmd'之前插入'CALL'命令,例如'call xnb_node.cmd pack Yaml Xnb'。 –

+0

CALL命令做到了!非常感谢! –

您必须使用call command当您执行其他批处理文件,如果你不想解释终止父批处理程序。

TechNet

调用从另一个批处理程序不停止父批处理程序。呼叫命令接受标签作为呼叫的目标。在脚本或批处理文件之外使用时,在命令行中调用不起作用。

更改此:

if "%web%"=="1" xnb_node.cmd extract Xnb Yaml 
if "%web%"=="2" xnb_node.cmd pack Yaml Xnb 
if "%web%"=="3" exit 

if "%web%"=="1" xnb_node.cmd extract Xnb Yaml && cmd /k && exit 
if "%web%"=="2" xnb_node.cmd pack Yaml Xnb cmd /k && exit 
if "%web%"=="3" cmd /k && exit 

这是不是很好用这种方式,你可能会遇到一些问题,在命令提示符窗口和一些其他的标题东西,所以我建议使用CALL命令,亚当摩根说。