通过cscript执行时清除屏幕吗?

问题描述 投票:1回答:1

我已经尝试了一些方法,从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,因此我可以在控制台中查看输出。关于如何清除屏幕还有其他想法吗?

command-line vbscript command-prompt wsh
1个回答
0
投票

[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
© www.soinside.com 2019 - 2024. All rights reserved.