Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » VBS/WHS/JS - Скрипт автоматически запускающий исталляцию программ

Ответить
Настройки темы
VBS/WHS/JS - Скрипт автоматически запускающий исталляцию программ

Аватара для skatet

Новый участник


Сообщения: 22
Благодарности: 3


Конфигурация

Профиль | Отправить PM | Цитировать


Всем привет, возникла проблема - как можно сделать чтоб в зависимости от необходимости установки программ, скрипт перенаправлял на установку текущей программы или на запрос установки следующей программы?
вот сам простой скрипт:
Set WshShell = CreateObject("WScript.Shell")
RetCode = WshShell.Run("""C:\Program Files\CCleaner\CCleaner.exe""", 1, vbTrue)
RetCode = WshShell.Run("notepad", 1, vbTrue)
RetCode = WshShell.Run("notepad", 1, vbTrue)
Будьте так добры, помогите

Отправлено: 12:50, 17-11-2007

 

Аватара для Ramzes_

Старожил


Сообщения: 203
Благодарности: 42

Профиль | Сайт | Отправить PM | Цитировать


Код: Выделить весь код
Option Explicit
Dim WshShell,theNotepad,Res,Text,Title,RetCode
Set WshShell = WScript.CreateObject("WScript.Shell")

Text="Хранитель паролей"
Title="Установка"
Res=WshShell.Popup(Text,0,Title,vbOkCancel)

If (Res=vbOk) Then
  RetCode = WshShell.Run("""C:\Program Files\KeePass-1.08\KeePass.exe""", 1, vbTrue)
End If

Text="RegShot"
Title="Установка"
Res=WshShell.Popup(Text,0,Title,vbOkCancel)

If (Res=vbOk) Then
  RetCode = WshShell.Run("""C:\Program Files\regshot181_src_bin\regshot.exe""", 1, vbTrue)
End If

WScript.Sleep 100

Но я бы сделал так:

Код: Выделить весь код
'------------------------
Option Explicit
'------------------------

Dim setup_dic
Set setup_dic = CreateObject("Scripting.Dictionary")

Call setup_dic.Add("Хранитель паролей", """C:\Program Files\KeePass-1.08\KeePass.exe""")
Call setup_dic.Add("RegShot", """C:\Program Files\regshot181_src_bin\regshot.exe""")

Dim prog, progs
progs = setup_dic.Keys

For Each prog In progs
  Call setup_prog(prog, setup_dic(prog))
Next

'------------------------
dim g_WshShell

Function setup_prog(prog_name, prog_path)
  If IsEmpty(g_WshShell) Then
    Set g_WshShell = WScript.CreateObject("WScript.Shell")
  End If 

  If (g_WshShell.Popup(prog_name,0,"Установка",vbOkCancel) = vbOk) Then
     Call g_WshShell.Run(prog_path, 1, vbTrue)
  End If
End Function
Таким образом усилия по добавлению новых программ сводятся к минимуму.

-------
Хотите, чтобы девушка сказала вам «Да!»? Спросите, принимает ли она условия лицензионного соглашения.

Это сообщение посчитали полезным следующие участники:

Отправлено: 20:28, 17-11-2007 | #11



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Аватара для skatet

Новый участник


Сообщения: 22
Благодарности: 3

Профиль | Отправить PM | Цитировать


вообще спасибо! Но есть пару моментов - когда я нажмаю ок при первой программе, то после запука, недожидаясь завершения первой запускается 2ая.
2ое - не мог бы ты разъяснить чуток что описывается в скрипте?
Буду очень благодарен.

Отправлено: 00:53, 18-11-2007 | #12


Аватара для Ramzes_

Старожил


Сообщения: 203
Благодарности: 42

Профиль | Сайт | Отправить PM | Цитировать


Только что попробовал. Программы нормально запускаются по порядку, проверь скрипт.

По поводу скрипта.

Код: Выделить весь код
Dim setup_dic
Set setup_dic = CreateObject("Scripting.Dictionary")

Call setup_dic.Add("Хранитель паролей", """C:\Program Files\KeePass-1.08\KeePass.exe""")
Call setup_dic.Add("RegShot", """C:\Program Files\regshot181_src_bin\regshot.exe""")
Scripting.Dictionary – объект, позволяющий хранить коллекцию данных в виде ключ-значение. Ключ должен быть уникальным. В качестве ключа здесь выступает название программы, в качестве значения – путь к ней. Сначала мы заполняем словарь известными программами.

Код: Выделить весь код
Dim prog, progs
progs = setup_dic.Keys
Получаем массив, содержащий все значения ключей.

Код: Выделить весь код
For Each prog In progs
  Call setup_prog(prog, setup_dic(prog))
Next
Теперь перебираем все значения ключей (имя программы), и для каждого значения вызываем функцию запуска, в которую передаем название программы, и путь ее запуска (значение словаря, соответствующее имени программы – setup_dic(prog))

-------
Хотите, чтобы девушка сказала вам «Да!»? Спросите, принимает ли она условия лицензионного соглашения.


Последний раз редактировалось Ramzes_, 29-05-2008 в 01:07.

Это сообщение посчитали полезным следующие участники:

Отправлено: 01:57, 18-11-2007 | #13


Аватара для skatet

Новый участник


Сообщения: 22
Благодарности: 3

Профиль | Отправить PM | Цитировать


отличный скрипт, так на самом деле станет еще проще перебирать все программы с помощью словаря!
Респект! Я еще с ним повожусь, потом поделюсь впечатлениеми подробнее.
Спасибо.

Отправлено: 10:45, 18-11-2007 | #14



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » VBS/WHS/JS - Скрипт автоматически запускающий исталляцию программ

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Универсальный скрипт для упрощения автоустановки программ -AAA- Автоматическая установка приложений 8 16-12-2011 22:43
Скрипт запускающий программу в заданное время Anarasius AutoIt 1 23-10-2009 15:56
Mandriva/Mandrake - [решено] Скрипт, ежедневно запускающий Sarg, вылетает с ошибкой andrystepa Общий по Linux 10 03-03-2008 09:54
VBS/WHS/JS - Скрипт для последовательного запуска нескольких программ skatet Программирование и базы данных 10 21-11-2007 17:02
Как создать "запускающий файл" MJR Microsoft Windows 2000/XP 9 25-12-2002 08:58




 
Переход