Что нового

Как прописать последовательный запуск скриптов?

Frostednik

Новичок
Сообщения
1
Репутация
0
Всем привет. Возникла необходимость создавать автоустановщик ПО. Отдельно уже все готово. Но надо загнать это в один скрипт. И чтобы при этом можно было галочками отметить какие проги установить автоматом, а какие нет. С основной частью разобрался. Никак не пойму как сделать так, чтобы в случае если например выбрано галочками 2 из 5 скриптов или 4 из 5 - все работало корректно и последовательно.

Буду благодарен.
 

ra4o

AutoIT Гуру
Сообщения
1,165
Репутация
246
Отдельно уже все готово. Но надо загнать это в один скрипт.
Если установка каждой из программ написана каждая в отдельно скрипте, то объединить всё это можно примерно так:
Код:
#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("Автоустановка программ", 195, 264, 192, 124)
$Checkbox1 = GUICtrlCreateCheckbox("Программа 1", 56, 32, 97, 17)
$Checkbox2 = GUICtrlCreateCheckbox("Программа 2", 56, 64, 97, 17)
$Checkbox3 = GUICtrlCreateCheckbox("Программа 3", 56, 96, 97, 17)
$Checkbox4 = GUICtrlCreateCheckbox("Программа 4", 56, 128, 97, 17)
$Checkbox5 = GUICtrlCreateCheckbox("Программа 5", 56, 160, 97, 17)

$Button1 = GUICtrlCreateButton("Установить", 16, 208, 163, 25)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###

While 1
	$nMsg = GUIGetMsg()
	Switch $nMsg
		Case $GUI_EVENT_CLOSE
			Exit
        Case $Button1
			if GUICtrlRead($Checkbox1)= $GUI_CHECKED Then ShellExecute('Здесь путь к скрипту установки программы 1')
			if GUICtrlRead($Checkbox2)= $GUI_CHECKED Then ShellExecute('Здесь путь к скрипту установки программы 2')
			if GUICtrlRead($Checkbox3)= $GUI_CHECKED Then ShellExecute('Здесь путь к скрипту установки программы 3')
			if GUICtrlRead($Checkbox4)= $GUI_CHECKED Then ShellExecute('Здесь путь к скрипту установки программы 4')
			if GUICtrlRead($Checkbox5)= $GUI_CHECKED Then ShellExecute('Здесь путь к скрипту установки программы 5')

	EndSwitch
WEnd
Если нужно что бы скрипты запускались последовательно - вместо "ShellExecute" используйте "RunWait".
Если хотите что бы всё было в одном скрипте можно установку программ вынести в отдельные функции и при опросе "Checkbox" выбирать эти функции вместо "RunWait".
 
Верх