WScript.CreateObject ("WScript.Shell") не распознается в cmd в win8 - PullRequest
0 голосов
/ 01 декабря 2018

Я сталкиваюсь с ошибкой в ​​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 голосов
/ 01 декабря 2018

Код VBScript не может быть запущен напрямую из CMD.Вам нужно запустить его с соответствующим интерпретатором, который обычно является либо wscript.exe (на основе графического интерфейса, по умолчанию), либо cscript.exe (на основе консоли) в системах Windows.Поместите свой код в файл .vbs, а затем запустите этот файл с соответствующим интерпретатором:

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

или

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

Если ваш вопрос заключается в том, как интерактивно запускать команды VBScript в командной строке(например, интерактивный режим Python или Ruby): встроенные интерпретаторы не предоставляют эту функцию.Их «интерактивный» параметр (//i) имеет другое значение.Он позволяет взаимодействовать (сообщения об ошибках, вводные подсказки, ...) между сценарием и пользователем, в отличие от пакетного режима (//b), который подавляет любое взаимодействие с пользователем, так что сценарий работает непрерывно в фоновом режиме.

Однакодовольно просто написать небольшие скрипты-обертки, которые позволяют запускать код напрямую из командной строки (например, Perl) или , обеспечивая интерактивное приглашение (например, Python или Ruby).

...