2016-01-19 107 views
0

我正在嘗試學習批處理。批處理文件 - 停止在運行中

我寫了一個帶有兩個標籤的簡單代碼。

這是代碼:

@echo off 
title intro 

color 1f 

::############################ 
::label 
:one 
cls 
echo hello 
echo. please enter your First name 
echo. 
:: fname is a variable (type p - string) that will content the user input. the input will be insert after << 
set /p fname= ">>" 
echo. 
echo. please enter your Last name 
set /p lname=">>" 
echo. 
echo hello %fname% %lname%! 

pause>nul 
goto two 

::############################ 
:two 
cls 
echo. welcome to page two 

命令行打印「Hello」時,它等待用戶響應之後。如果用戶輸入,而不是繼續標註「two」,則命令行關閉。

爲什麼?

謝謝。

+1

當用戶按下輸入它實際上繼續標記兩個,但它對人眼不可見,執行速度很快使得這種情況發生,而是從命令提示符執行腳本以獲得預期的輸出或在末尾添加暫停你的腳本和檢查。 – prudviraj

回答

1

那是因爲它在腳本到達和結束時退出,沒有什麼更多的事情要做。

添加例如pause在腳本的最後

喜歡這個

echo. welcome to page two 
pause 

然後,所有你想要的「第二頁」將是你welcome to page twopause

1

你之間不要說你是從提示還是從快捷方式執行該批次「

After顯示你好輸入的名字該批停在pause,並等待輸入。該>nul抑制則提示Press any key to continue . . .

一批將繼續:two(該goto是多餘的),但如果你從一個「快捷方式」執行的程序批處理窗口將出現立即關閉爲達到最終的文件終止常規。