在Win8的cmd中无法识别WScript.CreateObject(“ WScript.Shell”)

时间:2018-12-01 07:50:17

标签: cmd vbscript wsh

运行此命令时,我在Win 8.1 64bit中遇到错误:

start "" "X:\Windows\System32\devmgmt.msc"
Set WshShell = WScript.CreateObject("WScript.Shell")
WshShell.SendKeys "{TAP}"
pause

我收到此错误;

H:\Desktop>WshShell.SendKeys "{TAP}"
  

“ WshShell.SendKeys”未被识别为内部或外部命令,可操作程序或批处理文件。

我已经安装了Java环境。

1 个答案:

答案 0 :(得分:1)

不能直接从CMD运行VBScript代码。您需要使用适当的解释器来运行它,在Windows系统上通常是wscript.exe(基于GUI,默认)或cscript.exe(基于控制台)。将您的代码放入.vbs文件,然后使用相应的解释器运行该文件:

wscript.exe //NoLogo "C:\path\to\script.vbs"

cscript.exe //NoLogo "C:\path\to\script.vbs"

如果您的问题是如何在提示符下以交互方式运行VBScript命令(例如,例如Python或Ruby的交互模式):内置解释器不提供该功能。它们的“交互式”参数(//i)具有不同的含义。与批处理模式(//b)相对,批处理模式(var a = 'sun'; var b = 'earth'; var fn = 'some_fn'; $.post('index-pro.php', {function: fn, args: [a, b]}, function(data){ console.log(data); }); )禁止所有用户交互,因此脚本和用户之间可以进行交互(错误消息,输入提示等)。

但是,编写小型包装脚本非常容易,该脚本可以从命令行(如Perl)或running code directly(如Python或Ruby)中使用provide an interactive prompt