Batch file 如何在命令提示符下更改控制台中的字符?
我希望我的.bat脚本在控制台中执行如下操作:Batch file 如何在命令提示符下更改控制台中的字符?,batch-file,cmd,Batch File,Cmd,我希望我的.bat脚本在控制台中执行如下操作: C:\Users\username>somescript.bat Doing something in: 3 一秒钟后 C:\Users\username>somescript.bat Doing something in: 2 我该怎么做那样的事?另外,我不想清除控制台,只想更改窗口上的一项内容。批处理无法执行此操作。Windows cmd无法直接访问显示器。您应该使用另一种编程语言,例如C#。您可以使用批处理来完成此操作。Win
C:\Users\username>somescript.bat
Doing something in: 3
一秒钟后
C:\Users\username>somescript.bat
Doing something in: 2
我该怎么做那样的事?另外,我不想清除控制台,只想更改窗口上的一项内容。批处理无法执行此操作。Windows cmd无法直接访问显示器。您应该使用另一种编程语言,例如C#。您可以使用批处理来完成此操作。Windows cmd无法直接访问显示,但您可以使用回车符或退格符
@echo off
setlocal EnableDelayedExpansion
REM ** Create a single carriage return character in the `CR` variable
for /f %%a in ('copy /Z "%~dpf0" nul') do set "CR=%%a"
REM ** Count from 3 to 0 down
REM ** ECHO for each number the line without linefeed
REM ** And wait a second with the ping command
for /L %%n in (3 -1 0) do (
<nul set /p=Do something %%n!CR!
ping localhost -n 2 > nul
)
echo(
@echo关闭
setlocal EnableDelayedExpansion
REM**在'CR'变量中创建一个回车符
对于('copy/Z'%~dpf0“nul')中的/f%%a,请设置“CR=%%a”
REM**从3到0向下计数
REM**为每个数字回显不带换行符的行
REM**并使用ping命令等待一秒钟
对于(3-10)do中的/L%%n(
努尔
)
回音(
第一部分只是将回车符设置为CR
变量
Nice!对我来说太棒了!@EthanShaughnessy我添加了一些解释