batch-file - 回显命令后可能在 BATCH 文件中闪烁光标?

标签 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 中做出决定:_

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

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

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

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

提前谢谢你!

最佳答案

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

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

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

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

关于batch-file - 回显命令后可能在 BATCH 文件中闪烁光标?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12126223/

相关文章:

batch-file - 如何在批处理文件中打印当前时间?

windows - 使用 set/p 更新批处理脚本的变量始终包含最后一个值

batch-file - 如何打开带有参数的exe文件

http - 如何使用从批处理脚本调用的 curl 获取 http post 请求的响应代码?

windows - 批处理文件: GOTO in a FOR loop

仅在 PC 启动时出现 Python 错误 sqlite3.OperationalError : unable to open database file

windows - 有没有一种简单的方法可以从嵌套的批处理脚本中捕获错误代码 (%errorlevel%)?

windows ->nul 批量命令之前或之后的重定向

php - --shell 停止执行,适用于命令提示符、批处理文件、PHP exec() 等

Azure DevOps Pipeline CMD 任务 [错误]访问被拒绝