![]() |
Скрипт для последовательного запуска нескольких программ
Всем привет. У вас впервые. Появилась задача - переписать в се написанное на батниках на возможностях WSH.
Кто может подсказать - необходимо в VBS написать скрипт который бы запускал поочередно одну за другой запуск программ. Перед каждым запуском необходимо спросить - запустить программу, если да то запускает, после ее выключения запускает следующую, если ответ был нет, то сразу запускает 2ю и т.д. по той же схеме. Вот начало как вариант: Option Explicit ' Объявляем переменные Dim WshShell,theNotepad,Res,Text,Title ' Создаем объект WshShell Set WshShell = WScript.CreateObject("WScript.Shell") Text="Запуск установки программного обеспечения" & vbCrLf & "Установка Хранителя Паролей " Title="Установка" ' Выводим диалоговое окно на экран Res=WshShell.Popup(Text,0,Title,vbOkCancel) ' Определяем, какая из кнопок была нажата в диалоговом окне If (Res=vbOk) Then Set theNotepad = WshShell.Exec("C:\Program Files\KeePass-1.08\KeePass.exe") Else WScript.Sleep 100 End If или вот еще скрипт. Как я понял WshShell.Run в отличие от WshShell.Exec позволяет дождаться завершения пред программы. Set WshShell = CreateObject("WScript.Shell") RetCode = WshShell.Run("notepad", 1, True) RetCode = WshShell.Run(""C:\Program Files\KeePass-1.08\KeePass.exe"", 1, True) RetCode = WshShell.Run("notepad", 1, True) MsgBox "Обработка завершена! Код возврата - " & RetCode Проблема возникла при запуске программ содерж. пробелы в назв. пути, ее попытался решить """путь длинный\программа""" но в этом случае очередность не соблюдается и все программы запускаются одновременно. |
skatet
Цитата:
- код скрипта нужно брать в теги "CODE"; - почему количество кавычек в примере и в пояснении разное?.. так работает: Код:
Set WshShell = CreateObject("WScript.Shell") |
1 - почему для этой темы оффтоп?
2 - код скрипта нужно брать в теги "CODE - для чего?, что они позволяют? 3 - количество кавычек в примере и в пояснении разное - сорри, не заметил - работает только при 3х кавычках 4 - отлично Скрипт заработал как надо! 5 - чем отличается параметр vbTrue от True? (сам тоже поищу ответ) - дело было только в этом? Огромной Респект! :) Еще вопрос возник теперь, если с запуском программ более проблем не будет, то как теперь сделать чтоб в зависимости от необходимости установки программ, скрипт перенаправлял на установку текущей программы или на запрос установки следующей программы? |
|
:) тем неменее на этом форуме много обсуждений скриптов.
Ну ладно, пойду туда.. |
skatet
Цитата:
Хелп! Нужен скрипт на на WSH или VBS Скрипт на VBS VBS/WHS/JS - скрипты VBS Цитата:
|
все правильно, но:
| | установить программу№1? | Да нет | установка программы | | | | завершение установки | | | | | установить программу№2? | и тд... вот как надо ммм пробелы оказ не учитываются :) подстава |
skatet
не понял - выход при согласии или при отказе... если второе то можно так: Код:
Set WshShell = WScript.CreateObject("WScript.Shell") Цитата:
|
:) - "установить программу №1?":
- если да, то установка программы - ожидание окончания - "установить программу №2 ?" . если да то тоже самое для Пр№3, 4 и т.д. - если нет - то "установить программу №2 ?" если нет то тоже самое для Пр№3, 4 и т.д. "установить программу №1?": 1) - если да, то установка программы - ожидание окончания - "установить программу №2 ?" . если да то тоже самое для Пр№3, 4 и т.д. 2) - если нет - то "установить программу №2 ?" если нет то тоже самое для Пр№3, 4 и т.д. |
skatet
ну и в чем проблема? Код:
Set WshShell = WScript.CreateObject("WScript.Shell") |
пойду повешусь .. нет лучше поучу азы
Спасибо большое, час соиентируюсь, откомментирую :) Спасибо. |
Время: 10:16. |
Время: 10:16.
© OSzone.net 2001-