組み込み変数 (Built-in Variables)

環境によって値が異なる組み込み変数は、

MsgBox, %A_WorkingDir%

のようにすることで、実際の値を確認できます。

論理値 (Boolean)

変数 説明
true 1
false 0

特殊文字 (Special Characters)

変数 説明
A_Space  
A_Tab  

スクリプト プロパティ (Script Properties)

変数 説明
0※1 スクリプト パラメータの数
1, 2, 3など※1 スクリプト パラメータ
A_WorkingDir スクリプトの現在の作業ディレクトリ

(ファイルが既定でアクセスする場所)

ルート以外では末尾のバックスラッシュは含まれない。たとえばC:\C:\My Documentsとなる

A_ScriptDir 現在のスクリプトが配置されているディレクトリ

末尾のバックスラッシュは、つねに含まれない

A_ScriptName たとえばMyScript.ahk
A_ScriptFullPath たとえばC:\My Documents\My Script.ahk
   
A_AhkPath スクリプトがコンパイルされているかどうかによって、異なる値となります。
  • コンパイルされていない … 現在のスクリプトを実行している、実行ファイルのフルパス
  • コンパイルされている … AutoHotKeyのディレクトリがレジストリにあるならば、上と同じ。さおなくば空文字列
   

※1 「0、1、2、3…」は、文脈によっては数値とみなされます。

日時 (Date and Time)

変数 説明
   

スクリプト設定 (Script Settings)

変数 説明
A_IsSuspended スクリプトがサスペンドしているときに1、さもなくば0
A_IsPaused  

ユーザーのアイドル時間 (User Idle Time)

変数 説明
   

GUIウィンドとメニューバー (GUI Windows and Menu Bars)

変数 説明
A_Gui  
A_GuiControl  
   

ホットキー、ホットストリングとカスタムメニュー項目 (Hotkeys, Hotstrings, and Custom Menu Items)

変数 説明
A_ThisMenuItem  
A_ThisMenu  
   
A_ThisHotkey 直近に実行されたホットキーまたはホットストリング

スクリプトの実行中に他のホットキーによる割り込みが発生すると、この値はその新しいホットキーに書き換えられる。よって変数に退避させておくのが望ましい。

   

OSとユーザー情報 (Operating System and User Info)

変数 説明
A_Temp 一時ファイルのディレクトリのフルパス C:\DOCUME~1\<UserName>\LOCALS~1\Temp
A_ProgramFiles プログラム ファイルのディレクトリ C:\Program Files
A_AppData   C:\Documents and Settings\Username\Application Data
A_Desktop デスクトップ  
     

ループ (Loop)

変数 説明
A_Index 現在の反復子の数。Loopなどで使用
   

その他 (Misc)

変数 説明
Clipboard テキスト形式の、クリップボードの内容
ClipboardAll 書式情報を含む、クリップボードの内容
ErrorLevel コマンドの成否

Clipboard

clipboard = my text     ; クリップボードに新しい内容を設定する
clipboard =             ; クリップボードを空にする
clipboard = %clipboard% ; クリップボードの内容をプレーンテキストに変換する

; クリップボードにテキストを追加する
clipboard = %clipboard% Text to append.

; クリップボード内のテキスト'ABC'を'DEF'に置換し、プレーンテキストに変換する
StringReplace, clipboard, clipboard, ABC, DEF, All
Clipboard, ClipboardAll, and OnClipboardChange

ClipboardAll

これはクリップボードを内容を一時的に退避させるための変数であり、データ形式の取得や設定はできません。

ClipboardAll - Clipboard and ClipboardAll

ErrorLevel

値が0のときはコマンドが成功したことを、それ以外では失敗を意味します。ただしこれは一般的な場合で、すべてのコマンドがこの通りとは限りません。また1より大きな値となることもあるため、1であるかどうかを判定の基準としてはなりません。ErrorLevel

変数の値は、スレッドごとに保持されます。