在echo命令可能之后,在BATCH文件中闪烁光标?

时间:2012-08-25 22:42:42

标签: batch-file

我想让光标在正在运行的批处理的特定部分闪烁。

@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中:_ < / p>

但是,稍后我的代码中有以下内容:

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

在这种情况下,光标等待用户命令,但它在其他地方闪烁,而不是在主菜单一词的字母“U”旁边

问题 - 如何使光标在单词菜单旁边的“U”后闪烁?

提前谢谢!

1 个答案:

答案 0 :(得分:7)

ECHO命令在输出结束时发出一个新行,因此暂停闪烁的光标出现在下一行。

您可以使用SET / P打印提示,而无需换行以获得所需的结果。

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

顺便说一下,您可能不应该使用CALL返回主菜单。在不返回的情况下可以发出连续CALL的数量是有限的。我怀疑你的主菜单已经在调用例程或批处理文件。您的主菜单可能应该在GOTO循环中,然后让每个选项CALL批处理或例程。然后CALLed例程可以简单地EXIT / B返回主菜单。