Что нового

Запуск одновременно нескольких скриптов другим скриптом

Delima6

Новичок
Сообщения
7
Репутация
0
Добрый день господа!
Подскажите пожалуйста как решить такую вот задачу:

У меня есть скрипт starter.au3 (RunWait(@AutoItExe & " xxxxxx.au3")

C помощью него я хочу одновременно запустить 5 скриптов:
1.au3
2.au3
3.au3
4.au3
5.au3

Лежащие в разных папках соответственно

папка 1
папка 2
папка 3
папка 4
папка 5


Главная задача что бы они начали работать максимально синхронно,
???
Спасибо
 

SECTOR

Продвинутый
Сообщения
398
Репутация
58
Сделал так

Основной скрипт
Код:
Global $aScripts[5] = [@ScriptDir & "\1.au3", _
                        @ScriptDir & "\2.au3", _
                        @ScriptDir & "\3.au3", _
                        @ScriptDir & "\4.au3", _
                        @ScriptDir & "\5.au3"]

For $n = 0 To UBound($aScripts)-1
    Run(@AutoItExe & ' /AutoIt3ExecuteScript "' & $aScripts[$n] & '" ' & $n)
Next

MsgBox(0,@ScriptName,"Нажмите Ок")
Exit

Запускаемые скрипты [1-5].au3
Код:
#include <WinAPI.au3>

ProcessWaitClose(_WinAPI_GetParentProcess(@AutoItPID))

$hTimer = TimerInit()

While TimerDiff($hTimer) < 10000
    ToolTip(Round(TimerDiff($hTimer)/1000,2) & " sec.", 10+100*$CMDLine[1], 10, @ScriptName)
    Sleep(500)
WEnd

Идея в том, что запускаемые скрипты ждут закрытия скрипта, который их запустил, после продолжают работу.
Не самый лучший способ синхронизации выполнения, но самый простой, я думаю.
 
Верх