通过cscript执行时清除屏幕?

时间:2015-05-05 20:42:09

标签: command-line vbscript command-prompt wsh

我尝试了一些事情,从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来执行我的vbs,这样我就可以在控制台中查看输出。关于如何清除屏幕的任何其他想法?

1 个答案:

答案 0 :(得分:0)

How to use ANSI escape sequences with CSCRIPT on Windows 10? 的帮助下

对我来说,它可以在VBScript中工作(在使用cmd的CScript上),其中有两行:

1

对于第一行,我使用了MS Docs中的参考:Console Virtual Terminal Sequences 根据Win link

中的答案,使用Winsi之后的第二行使用Ansi.sys。

但是现在我必须在序列中添加']'字符(如ms doc中一样)


首先,我必须将此值添加到注册表中:


    'move cursor to beggining of cmd screen
    WScript.StdOut.Write Chr(27) & "[34A"
    'clear screen
    WScript.StdOut.Write Chr(27) & "[2J"

...而且我不需要使用powershell hack(通过将其添加到脚本的开始中)(也在引用的stackoverflow线程中)

[HKEY_CURRENT_USER\Console]
"VirtualTerminalLevel"=dword:00000001