Я запускаю сценарий оболочки из среды JavaScript с помощью ActiveXObject. Все работает нормально, если я не включаю никаких параметров в функцию запуска:
var x = new ActiveXObject("WScript.Shell");
x.Run("%comspec% /K dir")
alert("I am here!")
Согласно документации, «метод Run также принимает логическое значение в качестве третьего параметра, который определяет, будет ли сценарий приостанавливаться до тех пор, пока вызываемая программа не завершит выполнение, или вместо этого переходит к следующей команде в сценарии. Если для этого значения установлено значение False ( значение по умолчанию), метод Run просто выдает команду для запуска программы, но не проверяет, действительно ли программа запущена. Если для третьего параметра задано значение True, сценарий будет ждать завершения выполнения программы, возвращает целое число. код выхода, предоставленный программой, а затем перейдите к следующей строке сценария ».
Я пробовал использовать оба
x.Run("%comspec% /K dir"), 1, True
alert("I am here!")
а также
x.Run("%comspec% /K dir"), 1, False
alert("I am here!")
но мой код всегда зависает. Предупреждение никогда не отображается. Что я делаю неправильно? (Мне нужно использовать третий аргумент = true в моем коде) Спасибо!