VBS/WSH/JS - [решено] Скрипт который поочередно запускает на исполнение скриптов

Ответить
Аватара пользователя
Dt83

VBS/WSH/JS - [решено] Скрипт который поочередно запускает на исполнение скриптов

Сообщение Dt83 »

Добрый день!



Столкнулась с проблемой. Есть три скрипта. Пишу скрипт, кот. бы поочередно их запускал на исполнение. Но в итоге столкнулась с тем, что запускается последний скрипт на исполнение, а второй еще не отработался. Пыталась поставить между ними паузу, не очень удобно. Т.к. скрипты по работе с файлами, а их кол-во меняется. Подскажите пожалуйста что я могу упускать.



пример скрипта:



Set WshShell = CreateObject("WScript.Shell")



WshShell.Run ("""D:\test\1.vbs""")

WScript.Sleep 800



WshShell.Run ("""D:\test\2.vbs""")

WScript.Sleep 800



WshShell.Run ("""D:\test\3.vbs""")

Wscript.Echo "Выполнено"
Аватара пользователя
Tonny_Bennet

Re: VBS/WSH/JS - [решено] Скрипт который поочередно запускает на исполнение скриптов

Сообщение Tonny_Bennet »

По идее мы не должны стартовать второй скрипт пока работает первый. Но
тут
говорят что на VBS это или нереально или нужно прибегать к костылям типа файла с метками о работе.



Стоит копать в сторону: как узнать работает ли сейчас скрипт!
Аватара пользователя
Dt83

Re: VBS/WSH/JS - [решено] Скрипт который поочередно запускает на исполнение скриптов

Сообщение Dt83 »

Я вообще думала что метод WshShell.Run как раз таки подразумевает полную отработку, или я ошибаюсь? т.е. сначала он исполняет скрипт 1 до полной отработки, затем переходит ко второму и т.д. Разве не так должно быть?
Аватара пользователя
Dt83

Re: VBS/WSH/JS - [решено] Скрипт который поочередно запускает на исполнение скриптов

Сообщение Dt83 »

Dt83, используйте третий параметр «bWaitOnReturn» метода
.Run()
объекта
WshShell
— «True», без последующих «WScript.Sleep»:



Код:

Код: Выделить всё

WshShell.Run ("""D:\test\1.vbs""", 1, True)
Аватара пользователя
Delirium

Re: VBS/WSH/JS - [решено] Скрипт который поочередно запускает на исполнение скриптов

Сообщение Delirium »

Либо создать 3 bat файла и запускать их в четвертом bat файле примерно так

Код:

Код: Выделить всё

: start /wait 1.bat

, потом "start /wait 2.cmd", потом третий. В таком случае продолжение пойдет только после закрытия первого файла.
Аватара пользователя
Dt83

Re: VBS/WSH/JS - [решено] Скрипт который поочередно запускает на исполнение скриптов

Сообщение Dt83 »

Спасибо!



Вроде получилосьИзображение



Взяла способо у Iska, а именно использовала параметр bWaitOnReturn.
Ответить

Вернуться в «Программирование и базы данных»