2017-04-04 135 views
0

我已經成功完成了一個批處理,幾乎可以做所有我想要的東西現在如何讓命令提示符窗口在執行後保持打開以供進一步輸入?命令提示符窗口在執行選擇後關閉

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命令做到了!非常感謝! –

回答

0

您必須使用call command當您執行其他批處理文件,如果你不想解釋終止父批處理程序。

TechNet

調用從另一個批處理程序不停止父批處理程序。呼叫命令接受標籤作爲呼叫的目標。在腳本或批處理文件之外使用時,在命令行中調用不起作用。

1

更改此:

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命令,亞當摩根說。

相關問題