Запуск скриптов

При запуске AutoIt предлагает пользователю выбрать скрипт. Скрипт - простой текстовый файл содержащий ключевые слова и функции, объясняющие AutoIt'у, что от него требуется сделать. Скрипт можно создать простым текстовым редактором (Блокнот, например) или чем-нибудь получше.

Не смотря на то, что AutoIt v3 скрипты являются обычными текстовыми файлами, они получают расширение .au3 для того, чтобы легче было отличить простой текстовый файл от скрипта. Если использовался полный вариант установки - можно запускать скрипты просто двойным щелчком. Кроме этого, будут добавлены некоторые дополнительные команды в контекстное меню для файлов .au3.

 

Вот пример скрипта. Обратите внимание, что ; используется для комментариев (как REM в файлах DOS batch):

; Это мой первый скрипт
MsgBox(0, "Мой первый скрипт!", "Здравствуй, Мир!")

 

Скрипты посложнее, как правило, используют функции, которые обычно располагаются в конце скрипта. Вот пример скрипта, использующего функцию:

; Это мой второй скрипт (с функцией)
MsgBox(0, "Мой второй скрипт!", "Привет от скрипта!")
TestFunc()

Func TestFunc()
    MsgBox(0, "Мой второй скрипт!", "Привет от функции!")
EndFunc

 

Параметры командной строки (Command Line Parameters)

Специальный массив $CmdLine содержит параметры командной строки, переданные AutoIt'у при запуске. При этом имя файла скрипта не попадает в этот массив. Если его необходимо получить - используйте макро @ScriptName. Параметры, содержащие пробелы, должны быть заключены в "двойные кавычки"Скомпилированный скрипт принимает параметры командной строки так же, как и исходный скрипт.


$CmdLine[0] - число параметров
$CmdLine[1] - параметр 1 (идущий после имени скрипта)
$CmdLine[2] - параметр 2 и т.д.
...
$CmdLine[$CmdLine[0]] - простой путь получить последний параметр...

 

К примеру, если скрипт запущен таким образом:

    AutoIt3.exe myscript.au3 param1 "this is another param"

$CmdLine[0] равно... 2

$CmdLine[1] равно... param1

$CmdLine[2] равно... this is another param

@ScriptName равно... myscript.au3

 

В дополнение к $CmdLine существует переменная $CmdLineRaw, которая содержит командную строку в исходом виде. Пример:

$CmdLineRaw равно... myscript.au3 param1 "this is another param"

 

Скомпилированный скрипт принимает параметры точно также:

    myscript.exe param1 "this is another param"

$CmdLineRaw равно... param1 "this is another param"

Отметьте, что $CmdLineRaw просто возвращает параметры.

 

Замечание : только 63 параметра могут быть возвращены $CmdLine[...], но $CmdLineRaw всегда возвращает полную строку параметров.

 

Специальные ключи командной строки AutoIt (command Line Switches)

Форма1: AutoIt3.exe [/ErrorStdOut] [/AutoIt3ExecuteScript] file [params ...]
                Execute an AutoIt3 Script File


/ErrorStdOut    Позволяет перенаправить все фатальные ошибки на стандартное устройство вывода (StdOut), которое можно перенаправить в приложения, например, редактор SciTe. Этот ключ можно использовать и при запуске скомпилированных скриптов.
 

Чтобы просто запустить скрипт AutoIt с именем 'myscript.au3', используйте:
'AutoIt3.exe myscript.au3'

 

Форма2: Compiled.exe [/ErrorStdOut] [params ...]
                Выполнить скомпилированный скрипт, созданный с помощью Aut2Exe.

Форма3: Compiled.exe [/ErrorStdOut] [/AutoIt3ExecuteScript file] [params ...]
                Выполнить другой скрипт из скомпилированного скрипта. Это означает, что для запуска скриптов достаточно одного скомпилированного скрипта.

Форма4: AutoIt3.exe [/ErrorStdOut] /AutoIt3ExecuteLine "command line"
                Выполнить одну строчку кода.

Пример:
Run(@AutoItExe & ' /AutoIt3ExecuteLine  "MsgBox(0, ''Hello World!'', ''Hi!'')"')

Иконка AutoIt не отображается в трее при использовании /AutoIt3ExecuteLine

Замечание: Корректное использование одиночных и двойных кавычек очень важно, равно как и двойных одиночных.

Форма3 и Форма4 могут быть отключены в скомпилированных скриптах при использовании #NoAutoIt3Execute.