我已经尝试了一些方法,从WScript.Echo "cls"
到疯狂的功能,例如我在互联网上发现的以下功能。
Set CrlScrn = WScript.CreateObject("WScript.Shell")
CrlScrn.SendKeys "CLS + {ENTER}"
和
Set CrlScrn = WScript.CreateObject("WScript.Shell")
CrlScrn.Run "cmd echo /c cls"
Set CrlScrn = Nothing
这些都不起作用。
我仅通过运行cscript myscript.vbs
执行我的vb,因此我可以在控制台中查看输出。关于如何清除屏幕还有其他想法吗?
[C0的帮助下
对我来说,它在VBScript中工作(在使用Cmd的CScript上,使用这两行代码:
How to use ANSI escape sequences with CSCRIPT on Windows 10?
对于第一行,我使用了MS Docs中的参考:
'move cursor to beggining of cmd screen
WScript.StdOut.Write Chr(27) & "[34A"
'clear screen
WScript.StdOut.Write Chr(27) & "[2J"
自Win95以来,第二行是根据Tom Lavedas在Console Virtual Terminal Sequences中的回答使用Ansi.sys使用的。
但是现在我必须在序列中添加']'字符(如ms doc中的内容]
顺便说一句,我必须将此值添加到注册表中:
link...而且我不需要使用powershell hack(通过将其添加到脚本的开始中)(也在引用的stackoverflow线程中)
[HKEY_CURRENT_USER\Console]
"VirtualTerminalLevel"=dword:00000001