【问题标题】:WScript.CreateObject("WScript.Shell") is not recognized in cmd in win8WScript.CreateObject("WScript.Shell") 在 win8 的 cmd 中无法识别
【发布时间】:2018-12-01 07:50:17
【问题描述】:

运行此命令时,我在 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环境。

【问题讨论】:

  • 您不能直接从命令提示符运行 WScript 命令,您可以通过 wscript.execscript.exe 使用 VBS 或 WSF 文件。您似乎不了解 WScript 是什么或如何使用它,否则您不会提到 Java 环境,这与以往的情况完全没有关系。建议你去找一个关于如何使用 Windows Scripting Host 的好教程。

标签: cmd vbscript wsh


【解决方案1】:

VBScript 代码不能直接从 CMD 运行。您需要使用正确的解释器运行它,在 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),以便脚本在后台不间断地运行。

但是,编写允许来自命令行(如 Perl)或 provide an interactive prompt(如 Python 或 Ruby)的 running code directly 的小型包装脚本非常容易。

【讨论】:

  • @Lankymart 也许吧。但请记住,我们不仅为最初提出问题的人回答问题,而且主要为可能遇到类似问题的其他所有人回答问题。
  • 没错,但没想到会经常出现这种情况。
猜你喜欢
  • 1970-01-01
  • 2023-03-28
  • 2013-01-07
  • 1970-01-01
  • 2015-12-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多