2012-08-25 70 views
3

我想讓我的指針在運行批次的特定部分閃爍。echo命令可能後,在BATCH文件中閃爍光標?

@echo off 

REM some code goes here ... 

setlocal 
for /f %%A in ('"prompt $H & echo on & for %%B in (1) do rem"') do set "BS=%%A" 
set /p Menu=%BS% Please inform your option {1,2,3} followed by ENTER: 

注意,用SET/P命令光標符號「_」將閃爍在單詞「ENTER」和旁邊的結腸符號前面「:」,等待用戶作出決定,在ENTER鍵:_

但是,後來在我的代碼,我有以下幾點:

REM some code goes also here ... 
echo: 
echo Please, press any key to return to main menu 
pause>nul 
Call Begin 

在這種情況下,光標等待用戶的命令,但它閃爍別的地方遠,而不是旁邊的字母「 U「字樣主菜單

問題 - 如何讓光標在單詞菜單旁邊的「U」後閃爍?

預先感謝您!

+0

您不必將[已解決]放在您的標題中;標記爲接受的答案就足夠了。請查看[此Meta SO帖子](http://meta.stackexchange.com/q/116101/175248)瞭解更多信息。 – Makoto

回答

7

ECHO命令在輸出結束時發出一個新行,所以暫停閃爍光標出現在下一行。

您可以使用SET/P打印您的提示符而不用換行來獲得您想要的結果。

<nul set/p"=Please, press any key to return to main menu" 
pause>nul 

順便說一句,你可能不應該使用CALL返回到主菜單。連續發出的CALL數量有限,無需返回。我懷疑你的主菜單已經在調用一個例程或批處理文件。您的主菜單可能應該在GOTO循環中,然後讓每個選項CALL爲批處理或例程。然後,CALLed例程可以簡單地退出/ B返回到主菜單。

+0

再次感謝您的寶貴貢獻。親切的問候。 –