以下の get_command_argument 関数を呼び出せば、AutoHotkey (厳密には AutoHotkey_L)のコマンドライン引数を配列にまとめたうえで取得できる*1。
get_command_argument(){ global local arg_list := [] Loop,100 { if ("" != Trim(%A_Index%)){ arg_list.insert(%A_Index%) } } return arg_list }
たとえば、上記の get_command_argument と、つぎのように書いたスクリプトを test.ahk として保存し、コマンドプロンプトから"test.ahk hoho cococo rarara"と入力してみよう。
arg_text := "" for i,v in get_command_argument() arg_text .= "[" i "]: " v "`n" msgbox,% arg_text return
そうすると、コマンドラインの引数の順番と内容を表示するつぎのようなダイアログがあらわれる。
コマンドラインの引数の総数を知りたいときには get_command_argument().MaxIndex() と入力すればよい。
AutoHotkey_L でコマンドライン引数を一度にすべて取得したいときには、このget_command_argument 関数を利用するとよいだろう。
*1:この関数はファイルを一定時間毎に実行する repeat-exec.ahk を改良した - blechmusik2の日記にて使用したものである。