Running Scripts

AutoItを開始するとスクリプトファイルを開くかどうかたずねられます。 スクリプトファイルとはAutoItキーワードと関数が書かれた単なるテキストファイルでAutoItにあなたがやりたいことを教えるためのものです。スクリプトファイルはメモ帳やその他のもっと優れたテキストエディタで作られます。

autoItv3スクリプトは単なるテキストファイルですが、通常のテキストファイルとスクリプトファイルを区別するために.au3という拡張子をつけます。もしあなたがAutoItをインストーラでフルインストールしていればAutoItスクリプトをダブルクリックすることで実行できます。 .au3ファイルを右クリックするとファイルを開く、編集する、コンパイルするといったさまざまなオプションを選択できます。

 

スクリプトの例を見てみましょう。;はコメント行を表します (DOSバッチファイルのREMのようなものです)。

; はじめてのスクリプト
MsgBox(0, "My First Script!", "Hello World!")

 

もっと複雑なスクリプトでは関数を使います。 関数は普通、スクリプトの最後に書かれます。 関数を使った例を見てみましょう。

; 2つめのスクリプト (関数を使用)
MsgBox(0, "My second script!", "Hello from the main script!")
TestFunc()

Func TestFunc()
    MsgBox(0, "My Second Script!", "Hello from the functions!")
EndFunc

 

コマンドライン引数

$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がパラメータしか返さないことに注意してください。

 

注意 : $CmdLine[...]は最大63個までのパラメータしか返しませんが、$CmdLineRaw は常にコマンドライン全体を返します。

 

AutoIt特有のコマンドラインオプション

形式1: AutoIt3.exe [/ErrorStdOut] [/AutoIt3ExecuteScript] file [params ...]
                AutoIt3スクリプトファイルの実行


/ErrorStdOut    Sciteエディタのようなアプリケーションでキャプチャできるよう致命的エラーを標準出力にリダイレクトします。 このオプションはコンパイルされたスクリプトでも有効。
 

標準的なAutoItスクリプトファイル'myscript.au3'を実行するには
'AutoIt3.exe myscript.au3'
とします。

 

形式2: Compiled.exe [/ErrorStdOut] [params ...]
                Aut2Exeを使用してAutoIt3スクリプトファイルをコンパイルします。

形式3: Compiled.exe [/ErrorStdOut] [/AutoIt3ExecuteScript file] [params ...]
                コンパイルされたAutoIt3スクリプトファイルから別のスクリプトファイルを実行します。 この際、AutoIT3.exeを別にコピーする必要はありません。


形式4: AutoIt3.exe [/ErrorStdOut] /AutoIt3ExecuteLine "command line"
                コードの一行を実行します。

コードの一行を実行するためには。
Run(@AutoItExe & ' /AutoIt3ExecuteLine  "MsgBox(0, ''Hello World!'', ''Hi!'')"')
とします。

/AutoIt3ExecuteLine を使用している際はトレイアイコンは表示されません。

注意:シングルコーテーション、ダブルコーテーションを正確に使用してください。 たとえ二重のシングルコーテーション であってもです。


#NoAutoIt3Executeを使用するとコンパイルしたスクリプトで形式3と形式4を無効にすることができます。