Wenn man AutoIt startet, dann wird man nach dem Skript gefragt, welches man öffnen möchte. Eine Skriptdatei ist eine einfache Textdatei, die AutoIt-Schlüsselwörter und -Funktionen enthält, die AutoIt sagen, was es machen soll. Skripte können mit notepad.exe oder einer viel besseren Alternative geschrieben werden.
Obwohl AutoIt 3-Skripte einfache Textdateien sind, erhalten sie üblicherweise die Endung .au3, damit sich Skripte und Textdateien besser unterscheiden lassen. Wenn man AutoIt komplett installiert hat, kann man ein Skript ausführen, indem man es einfach doppelt anklickt. Man kann auch Optionen wählen - nämlich das Skript zu öffnen, zu bearbeiten oder zu kompilieren - wenn man mit der rechten Maustaste auf die .au3-Datei klickt.
Hier ein Beispielskript. Es ist zu beachten, dass das ; einen einzeiligen Kommentar einleitet ähnlich REM in MSDOS-Batch-Dateien):
; Das ist mein erstes Skript
MsgBox(0, "Mein erstes Skript!", "Hallo Welt!")
Kompliziertere Skripte werden Funktionen nutzen, die normalerweise am Ende des Skriptes platziert werden. Hier ein ähnliches Skript mit Funktionen:
; Das ist mein erstes Skript (mit Funktionen)
MsgBox(0, "Mein zweites Skript!", "Hallo aus dem Hauptskript!")
TestFunc()
Func TestFunc()
MsgBox(0, "Mein zweites Skript!", "Hallo aus der Funktion!")
EndFunc
Das besondere Array $CmdLine wird mit den, deinem AutoIt-Skript
übergebenen, Kommandozeilenparametern initialisiert. Der Skriptname
wird dabei nicht als Parameter aufgefasst; den kann man über
@ScriptName herausfinden. Ein Parameter, der Leerzeichen beinhaltet,
muss von "doppelten Anführungszeichen" umgeben sein. Kompilierte Skripte akzeptieren Kommandozeilenparameter genauso.
$CmdLine[0] ist die Anzahl der Parameter
$CmdLine[1] ist Parameter 1
$CmdLine[2] ist Parameter 2 etc.
...
$CmdLine[$CmdLine[0]] ist einer der Wege, um den letzten Parameter auszulesen...
Wenn man also sein Skript so ausführt:
AutoIt3.exe meinskript.au3 param1 "das ist ein anderer Parameter"
$CmdLine[0] ergibt... 2
$CmdLine[1] ergibt... param1
$CmdLine[2] ergibt... das ist ein anderer Parameter
@ScriptName ergibt... meinskript.au3
Zusätzlich zu $CmdLine gibt es noch eine Variable namens $CmdLineRaw, die unformatierten Kommandozeilenparameter enthält. Im obigen Beispiel:
$CmdLineRaw ergibt... meinskript.au3 param1 "das ist ein anderer Parameter"
Falls das Skript kompiliert wurde wird es dies ausführen:
meinskript.exe param1 "das ist ein anderer Parameter"
$CmdLineRaw entspricht... param1 "das ist ein anderer Parameter"
Es ist zu beachten, dass $CmdLineRaw nur die Parameter zurückgibt.
Es ist zu beachten, dass nur 63 Parameter durch $CmdLine[...] zurückgegeben werden können, aber $CmdLineRaw wird immer die komplette Befehlszeile zurückgeben.
Form1: AutoIt3.exe [/ErrorStdOut] [/AutoIt3ExecuteScript] Datei [params ...]
Eine AutoIt3 Skriptdatei ausführen
/ErrorStdOut
Erlaubt es fatale Fehler auf StdOut umzuleiten, welches
durch eine Anwendung wie den Scite Editor verarbeitet werden kann. Dieser Schalter kann in einem
kompilierten Skript verwendet werden.
Um eine Standard AutoIt Skriptdatei 'meinscript.au3' auszuführen ist dieser Befehl zu verwenden:
'AutoIt3.exe 'meinscript.au3'
Form2: Compiled.exe [/ErrorStdOut] [params ...]
Ausführen einer AutoIt3 Skriptdatei die mit Aut2Exe erstellt wurde.
Form3: Compiled.exe [/ErrorStdOut] [/AutoIt3ExecuteScript Datei] [params
...]
So kann direkt aus einer kompilierten AutoIt3 Skriptdatei eine andere nicht kompilierte Skriptdatei gestartet werden. Dann ist es
nicht notwendig eine andere Kopie der AutoIT3.exe in der kompilierten Datei zu installieren.
Form4: AutoIt3.exe [/ErrorStdOut] /AutoIt3ExecuteLine "Befehlszeile"
Ausführen einer Zeile mit Code.
Um eine einzelne Zeile mit Code auszuführen ist folgender Befehl auszuführen:
Run(@AutoItExe & ' /AutoIt3ExecuteLine "MsgBox(0,
''Hallo Welt!'',
''Hi!'')"')
Das Trayicon wird nicht anzeigt, wenn /AutoIt3ExecuteLine verwendet wird
ACHTUNG: Die korrekte Benutzung von einfachen und doppelten Anführungszeichen ist wichtig, auch
doppelten einfachen.