【发布时间】:2018-10-21 03:05:59
【问题描述】:
我一直在使用 Windows 10 上的 VT100 转义序列。我知道这段代码:
@ECHO OFF
FOR /F %%A in ('ECHO prompt $E^| cmd') DO SET "ESC=%%A"
<NUL SET /P "=%ESC%[4;6HBye"
将光标位置设置为 4,6 并从该位置开始显示“Bye”。我的问题是,有没有办法检查特定光标位置上的字符?比如,如果我问光标位置 4,6 上是什么,它会告诉我字母“B”?
我尝试过使用 for 命令,有点像这样
FOR /F "delims=" %%A in ('<NUL SET /P "=%ESC%[4;6HBye"') DO (
echo %%A
)
但这并没有真正起作用。有没有人有办法解决吗?谢谢。
【问题讨论】:
-
根据微软的Console Virtual Terminal Sequences和Appendix B of the VT100 User Manual列表,没有这样的VT100序列。
-
不仅做不到,就算做得到,也没有办法在不干扰屏幕内容的情况下截取结果。在Windows 10 console VT-100 escape sequences 上查看问答
标签: batch-file