详细说明黑暗之物 https://stackoverflow.com/users/4158862/somethingdark的评论——
仅 Windows 10 支持虚拟终端代码
转义控制字符可以通过解析 Prompt $E 命令来定义。一种方法是:
for /F "delims=#" %%a in ('"prompt #$E# & for %%a in (1) do rem"') do set "\E=%%a"
另一种更简单的方法是:
for /F %%a in ('Echo prompt $E ^|cmd') do set "\E=%%a"
绝大多数序列此处描述 https://learn.microsoft.com/en-us/windows/console/console-virtual-terminal-sequences受到支持
虚拟终端代码也支持Type
命令,通过将更改的单元格输出到文件,然后将文件键入屏幕来允许高效的屏幕更新。
注意:使用带有 UTF-8 代码页字符的类型时,即使设置了正确的代码页,也可能会出现问题 - 为了避免这些问题,请将 type 文件命令显式重定向到Con
. IE:
Type "filename.ext" > Con
定义转义字符后%\E%
, 可以使用以下方法抑制控制台光标:
<nul set /P "=%\E%[?25l"
并启用:
<nul Set /P "=%\E%[?25h"
可以使用以下方法清除单个单元格:
rem /* for current cell location */
<nul Set /P "=%\E%[1X"
rem /* for a cell located at substituted y x coordinate value */
<nul Set /P "=%\E%[y;xH%\E%[1X"
可以在以下位置找到生成具有一致帧速率的无闪烁动画的示例脚本:这个答案 https://stackoverflow.com/a/68483400/12343998