2015-03-25 2 views
0

Я пытаюсь получить VBScript для запуска другого VBScript при передаче аргумента от первого ко второму. Я получил часть того, как получить аргумент во втором скрипте, однако я не знаю, как назвать его в первом VBScript. Вот то, что я в настоящее время в первой:Вызов VBScript с использованием аргументов

arg1 = "MyArgument" 
objShell.Run "ArgumentTest2.vbs arg1" 

Когда я запускаю этот скрипт, он дает мне сообщение об ошибке:

Сценарий: C: \ Test Довод 1.vbs
линии: 2
Char: 1
Ошибка: требуется объект '' objShell
код: 800A01A8
Источник: Microsoft VBScript ошибка времени выполнения

Любая помощь будет принята с благодарностью! Благодаря!

ответ

1

Вы должны инициализировать objShell с

Set objShell = CreateObject("WScript.Shell") 

, прежде чем использовать его метод .Run.

Кроме того, VBScript не расширять переменные внутри строки, так что вам нужно сцепить свой аргумент в остальной части командной строки:

objShell.Run "ArgumentTest2.vbs " & arg1 

Заметьте, что вам нужно поставить маркеры в два раза цитаты, если они содержат пробелы:

arg1 = "My Argument" 
objShell.Run "ArgumentTest2.vbs """ & arg1 & """" 
+0

@ Ansgar 'Eagle Eyes' W. Спасибо за улучшение! –