Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > VB6 > Запуск сценария с аргументами


Автор: Prorok 14.6.2007, 10:04
Вопрос вот в чем: выполняется некий скрипт, который берет некоторый путь и кладет его в переменную p, затем нужно из этого скрипта запустить другой скрипт с аргументом - путем из переменной p. 
WshShell.Run "WScript.exe C:\temp2.vbs p" как и следовало ожидать не работает. Подскажите, как тут можно выкрутиться.

Автор: Akina 14.6.2007, 22:34
Если я правильно понимаю, эти "некие скрипты" выполняются двумя последовательными WshShell.Run? Тогда тебе не светит - каждый из порождаемых процессов работает со своей копией состояния среды, которое теряется в момент окончания работы WSH.

Следовательно, необходимо выполнять их в рамках одного WshShell.Run. А вот как это организовать - тут вариантов масса. Начиная от динамического формирования "оборачивающего" скрипта и заканчивая просто объединением скриптов (можно как отдельные Jobs, а можно и просто сделать один общий скрипт).

Если же между двумя WshShell.Run выполняются другие операции, способные повлиять на что что и как вызывается и вызывается ли вообще - придется создавать "твердую" копию параметра, предназначенного к передаче. Тут тоже вариантов масса - от текстового файла до корректировки системных переменных, записи в реестр и пр.

Автор: mihanik 15.6.2007, 08:20
Попробуй так

Код

WshShell.Run """WScript.exe C:\temp2.vbs p"""

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)