# 命令列表

点击命令名称获取详情. 大字体显示 的命令是最常用的.

命令 | 说明
{ ... } | 一对大括号表示一个区块. 区块通常和 函数, Else, Loop, While-loop, 和 IF 命令一起使用.
AutoTrim | 决定在 "Var1 = %Var2%" 的语句中将变量 Var2 的值赋值给 Var1 时是否忽略变量 Var2 首尾的空格和制表符.
BlockInput | 禁用或启用用户通过键盘和鼠标与计算机交互的能力.
Break | 退出 (终止) 循环. 在各种 循环 中都是有效的.
Click | 在指定的坐标点击鼠标按钮. 它还可以按住鼠标按钮, 滚动滚轮, 或移动鼠标.
ClipWait | 等到 剪贴板 包含数据.
Continue | 跳过当前 循环 的剩余部分并继续下一次循环. 在各种 循环 都是有效的.
Control | 对控件作出多种改变.
ControlClick | 发送鼠标按钮或鼠标滚轮事件到一个控件.
ControlFocus | 设置输入焦点到一个窗口的给定控件上.
ControlGet | 获取控件的各种类型的信息.
ControlGetFocus | 获取目标窗口的哪个控件拥有输入焦点, 如果有.
ControlGetPos | 获取一个控件的位置和大小.
ControlGetText | 从一个控件获取文本.
ControlMove | 移动一个控件或调整其的大小.
ControlSend / ControlSendRaw | 发送模拟的键击到窗口或控件.
ControlSetText | 改变控件的文本.
CoordMode | 为多个命令设置坐标模式是相对于活动窗口还是屏幕.
Critical | 防止 当前线程 被其他线程中断.
DetectHiddenText | 决定窗口中隐藏的文本在探测窗口时是否 "可见". 此设置影响一些命令例如 IfWinExist 和 WinActivate.
DetectHiddenWindows | 决定脚本是否可以 "看见" 隐藏的窗口.
DllCall() | 调用 DLL 文件中的函数, 例如标准的 Windows API 函数.
Drive | 弹出/缩回 CD 或 DVD 驱动器托盘, 或设置驱动器的卷标.
DriveGet | 获取计算机驱动器各种类型的信息.
DriveSpaceFree | 获取一个驱动器的可用磁盘空间, 单位为兆字节.
Edit | 在关联编辑器中打开当前脚本进行编辑.
Else | 指定 IF 语句计算结果为 FALSE 时执行的命令. 包含多个命令时, 需要把它们装入一个 块 (大括号).
EnvAdd | 设置 变量 的值为它自身加上一个给定的值的和 (还可以从一个 日期-时间 值中增加或减去时间). 同义于: var += value
EnvDiv | 设置 变量 的值为它自身除以一个给定的值. 同义于: var /= value
EnvGet | 获取一个环境变量.
EnvMult | 设置 变量 的值为它自身乘以一个给定的值. 同义于: var *= value
EnvSet | 向包含在系统环境中的 变量 写入值.
EnvSub | 设置 变量 的值为它自身减去一个给定的值 (还可以比较 日期-时间 值). 同义于: var -= value
EnvUpdate | 通知操作系统和所有运行的应用程序 环境变量 已经更新了.
Exit | 退出 当前线程 或 (如果脚本不是 持续运行的 并且不包含热键) 整个脚本.
ExitApp | 无条件的终止脚本.
FileAppend | 在文件的末尾处追加文本 (如果有必要, 首先创建文本).
FileCopy | 复制一个或多个文件.
FileCopyDir | 复制一个文件夹及其所有的子文件夹和文件 (类似于 xcopy).
FileCreateDir | 创建文件夹.
FileCreateShortcut | 创建快捷方式 (.lnk) 文件.
FileDelete | 删除一个或多个文件.
FileInstall | 封装指定的文件到脚本的 已编译版本 中.
FileGetAttrib | 报告一个文件或文件夹是否为只读, 隐藏等.
FileGetShortcut | 获取快捷方式 (.lnk) 文件的信息, 例如其目标文件.
FileGetSize | 获取文件的大小.
FileGetTime | 获取一个文件或文件夹的时间戳.
FileGetVersion | 获取文件的版本.
FileMove | 移动或重命名一个或多个文件.
FileMoveDir | 移动一个文件夹及其所有的子文件夹和文件. 它还可以重命名一个文件夹.
FileRead | 读取文件的内容到 变量 中.
FileReadLine | 读取一个文件的指定行的文本并保存到 变量 中.
FileRecycle | 发送一个文件或目录到回收站, 如果可行的话.
FileRecycleEmpty | 清空回收站.
FileRemoveDir | 删除文件夹.
FileSelectFile | 显示允许用户打开或保存文件的标准对话框.
FileSelectFolder | 显示允许用户选择一个文件夹的标准对话框.
FileSetAttrib | 改变一个或多个文件或文件夹的属性. 支持通配符.
FileSetTime | 改变一个或多个文件或文件夹的时间戳. 支持通配符.
FormatTime | 转换 YYYYMMDDHH24MISS 时间戳到指定的日期/时间格式.
GetKeyState | 检查键盘按键或鼠标/游戏杆按钮是否按下或放开.也可以获取游戏杆的状态.
Gosub | 跳转到指定的标签继续执行, 直到遇到 Return.
Goto | 跳转到指定的标签继续执行.
GroupActivate | 激活由 GroupAdd 命令定义的窗口组中的下一个窗口.
GroupAdd | 增加一种窗口规格到窗口组, 必要时创建组.
GroupClose | 关闭刚刚由 GroupActivate 或 GroupDeactivate 命令激活的活动窗口.接着激活系列中的下一个窗口.它也可以关闭一组中的所有窗口.
GroupDeactivate | 类似于 GroupActivate, 只是它激活 不 在目标组中的下一个窗口.
GUI | 创建和管理窗口和控件. 这种窗口可以用作数据输入窗体或自定义用户界面.
GuiControl | 对 GUI 窗口中的控件作出各种改变.
GuiControlGet | 获取 GUI 窗体中控件的各种类型的信息.
HideAutoItWin, On|Off | [已过时 -- 等价的命令是: Menu, tray, NoIcon|Icon]
Hotkey | 在脚本运行时创建, 修改, 启用或禁用一个热键.
if | 指定 变量 的比较结果为 TURE 时执行的命令. 包含多个命令时, 需要把它们装入一个 块 (大括号).
if (expression) | 指定 表达式 的计算结果为 TRUE 时执行的命令.
If var [not] between | 检查一个 变量的 内容是否介于两个数字或字符串 (包含的) 之间.
If var [not] in/contains MatchList | 检查 变量的 内容是否匹配列表中的一项.
If var is [not] type | 检查 变量的 内容是否是数字, 大写字母等.
IfEqual/IfNotEqual | 比较 变量 和一个值判断是否相等. 同义于: if var = value | if var <> value
IfExist / FileExist() | 检查一个文件或文件夹是否存在.
IfGreater/IfGreaterOrEqual | 比较 变量 和一个值. 同义于: if var > value | if var >= value
IfInString / InStr() | 检查 变量 是否包含指定的字符串.
IfLess/IfLessOrEqual | 比较 变量 和一个值.同义于: if var < value | if var <= value
IfMsgBox | 检查用户在最近的 MsgBox 命令中按下了哪个按钮.
IfWinActive / IfWinNotActive | 检查指定的窗口是否存在并且当前是否活动的 (在最前面).
IfWinExist / IfWinNotExist | 检查指定的窗口是否存在.
ImageSearch | 在屏幕某个区域搜索图像.
IniDelete | 从一个标准格式的 .ini 文件中删除一个值.
IniRead | 从一个标准格式的 .ini 文件中读取一个值.
IniWrite | 写入一个值到标准格式的 .ini 文件中.
Input | 等待用户输入一个字符串 (不支持 Windows 9x 系统: 在那里它什么都不做).
InputBox | 显示一个输入框让用户输入字符串.
KeyHistory | 显示脚本信息和最近按键和鼠标点击记录.
KeyWait | 等待一个按键或鼠标/游戏杆按钮被松开或按下.
LeftClick | [已过时 -- 使用 Click 代替灵活性更大]
LeftClickDrag | [已过时 -- 使用 MouseClickDrag 代替灵活性更大]
ListHotkeys | 显示当前脚本包含的热键, 不论它们的子程序当前是否运行, 也不论它们是否使用 键盘 或 鼠标 钩子.
ListLines | 显示最近执行的脚本行.
ListVars | 显示脚本的 变量: 它们的名称和当前的内容.
Loop (normal) | 重复执行一组命令: 可以指定重复次数或直到遇到 break 命令.
Loop (files & folders) | 获取指定的文件或文件夹, 每次一个.
Loop (parse a string) | 从一个字符串中获取子字符串 (片段), 每次一个片段.
Loop (read file contents) | 逐行读取文本文件的内容, 每次一行 (比 FileReadLine 执行的更好).
Loop (registry) | 获取指定的注册表子键的内容, 每次一个项目.
Menu | 创建, 删除, 修改和显示菜单和菜单项. 改变托盘的图标和它的提示. 控制是否可以打开 已编译脚本 的主窗口.
MouseClick | 点击或按住鼠标按钮, 或滚动鼠标滚轮. 注: Click 命令 通常更灵活, 并且更容易使用.
MouseClickDrag | 点击并按住指定的鼠标按钮, 接着移动鼠标到目标坐标, 然后松开按钮.
MouseGetPos | 获取鼠标光标的当前位置, 以及鼠标当前悬停的窗口和控件 (可选的).
MouseMove | 移动鼠标光标.
MsgBox | 在一个包含一个或多个按钮 (例如 Yes 和 No) 的小窗口中显示指定的文本.
OnExit | 指定一个 子程序 在脚本退出时自动运行.
OnMessage() | 指定当脚本接收到特定消息时自动调用的 函数.
OutputDebug | 发送字符串到调试器 (如果有的话) 显示出来.
Pause | 暂停脚本的 当前线程.
PixelGetColor | 获取指定的 x,y 坐标处像素的颜色.
PixelSearch | 在屏幕的一个区域中搜索指定颜色所在的像素.
PostMessage | 发送消息到窗口或控件.
Process | 对一个进程执行下面的其中一个操作: 检查是否存在; 改变优先级; 关闭; 等待关闭.
Progress | 创建或更新一个包含进度条的窗口.
Random | 生成一个伪随机数.
RegExMatch() | 判断一个字符串是否包含某个匹配模式 (正则表达式).
RegExReplace() | 替换字符串中匹配模式 (正则表达式) 出现的地方.
RegDelete | 从注册表中删除一个子键或值.
RegRead | 从注册表读取一个值.
RegWrite | 写入一个值到注册表.
RegisterCallback() | 创建一个机器码地址, 当它被调用时会重定向到脚本中的 函数.
Reload | 用一个新的脚本实例替换当前正在运行的实例.
Repeat…EndRepeat | [已过时 -- 使用 Loop 代替灵活性更大]
Return | 从子程序返回到之前通过 函数调用, Gosub, 使用 Hotkey, GroupActivate, 或其他方式执行跳转的地方.
RightClick | [已过时 -- 使用 Click 代替灵活性更大]
RightClickDrag | [已过时 -- 使用 MouseClickDrag 代替灵活性更大]
Run | 运行一个外部程序.
RunAs | 指定在所有后续的 Run 和 RunWait 命令中使用的一组用户凭据. 需要 Windows 2000/XP 或更高版本的系统.
RunWait | 运行一个外部程序并等待它完成.
Send / SendRaw / SendInput / SendPlay | 发送模拟键击和鼠标点击到 活动 窗口.
SendMessage | 发送消息到窗口或控件并等待确认.
SendMode | 让 Send 和 SendInput 或 SendPlay 具有相同的功能而不是默认的 (SendEvent). 也使 Click 和 MouseMove/Click/Drag 使用指定的方法.
SetBatchLines | 决定脚本的执行速度 (影响 CPU 使用率).
SetCapslockState | 设置 Capslock 的状态. 还可以强制此键保持打开或关闭状态.
SetControlDelay | 设置在每个控件修改命令执行后自动的延时.
SetDefaultMouseSpeed | 设置未指定时将用于 Click 和 MouseMove/Click/Drag 命令的鼠标速度.
SetEnv (Var = Value) | 把指定的值赋值给一个 变量.
SetFormat | 设置数学运算得到的整数和浮点数的格式.
SetKeyDelay | 设置每次 Send 或 ControlSend 发送键击后自动的延时.
SetMouseDelay | 设置每次鼠标移动或点击后自动的延时.
SetNumlockState | 设置 Numlock 的状态. 还可以强制此键保持打开或关闭状态.
SetScrollLockState | 设置 Scrolllock 的状态. 还可以强制此键保持打开或关闭状态.
SetStoreCapslockMode | 设置在 Send 命令后是否恢复 CapsLock 的状态.
SetTimer | 以一个指定的时间间隔自动重复运行子程序.
SetTitleMatchMode | 设置在类似 WinWait 命令中 WinTitle 参数的匹配模式.
SetWinDelay | 设置在每次执行窗口命令后自动的延时, 例如 WinActivate.
SetWorkingDir | 改变脚本的当前工作目录.
Shutdown | 关闭, 重启或注销系统.
Sleep | 在继续前等待指定的时间量.
Sort | 以字母, 数字或随机顺序排列变量的内容 (可以选择是否移除重复项).
SoundBeep | 从 PC 扬声器发出蜂鸣音.
SoundGet | 从音频设备中获取多种设置 (主静音, 主音量, 等等)
SoundGetWaveVolume | 获取音频设备的波形输出音量.
SoundPlay | 播放音频, 视频或其他支持的文件类型.
SoundSet | 改变音频设备的多种设置 (主静音, 主音量, 等)
SoundSetWaveVolume | 改变音频设备的波形输出音量.
SplashImage | 创建或更新包含一个 JPG, GIF, 或 BMP 图像的窗口.
SplashTextOn | 创建自定义的文本弹出窗口.
SplashTextOff | 关闭上面所说的窗口.
SplitPath | 把文件名或 URL 分解成它的名称, 目录, 扩展名, 和驱动器.
StatusBarGetText | 获取标准的状态栏控件中的文本.
StatusBarWait | 等待一个窗口的状态栏包含指定的字符串.
StringCaseSense | 决定在字符串比较中是否区分大小写 (默认 "不区分大小写").
StringGetPos / InStr() | 获取指定的子字符串在一个字符串中的位置.
StringLeft | 从一个字符串的左边提取一定数量的字符.
StringLen / StrLen() | 获取一个字符串中包含的字符数.
StringLower | 把一个字符串中的英文字母转换成小写.
StringMid / SubStr() | 从一个字符串的指定位置提取一个或多个字符.
StringReplace | 使用一个新字符串替换指定的子字符串.
StringRight | 从一个字符串的右边提取一定数量的字符.
StringSplit | 使用指定的分隔符把一个字符串分解成多个子字符串并保存到数组中.
StringTrimLeft | 从一个字符串的左边移除一定数量的字符.
StringTrimRight | 从一个字符串的右边移除一定数量的字符.
StringUpper | 把一个字符串中的英文字母转换成大写.
Suspend | 禁用或启用所有的或选择的 热键 和 热字串.
SysGet | 获取屏幕分辨率, 多显示器信息, 系统对象的尺寸和其他系统属性.
Thread | 设置 线程 的优先级或是否可以被中断.它也可以临时禁用所有的 计时器.
ToolTip | 在屏幕的任意位置创建一个总是置顶的窗口.
Transform | 执行各种数学功能, 按位运算, 和类似 ASCII/Unicode 转换的任务.
TrayTip | 在托盘图标附近创建气球提示窗口. 需要 Windows 2000/XP 或更高版本的系统.
UrlDownloadToFile | 从互联网下载文件.
Var = value | 把指定的值赋值给 变量.
Var := expression | 计算 表达式 的结果并保存到 变量 中.
VarSetCapacity() | 增加或清空变量占用的内存. 通常只有在特殊情况下才必要, 例如 DllCall.
While-loop | 重复执行一组命令直到指定的 表达式 计算结果为假.
WinActivate | 激活指定的窗口 (将它置于最前面).
WinActivateBottom | 和 WinActivate 一样, 只是此命令激活最下面的 (最早激活的) 匹配窗口而不是最上面的.
WinClose | 关闭指定的窗口.
WinGetActiveStats | 把 WinGetActiveTitle 和 WinGetPos 的功能合并到一个命令.
WinGetActiveTitle | 获取活动窗口的标题.
WinGetClass | 获取指定窗口的类名.
WinGet | 获取指定窗口的 uID, 进程 ID, 进程名, 或控件列表. 它还可以获取匹配指定条件的所有窗口的列表.
WinGetPos | 获取指定窗口的位置和大小.
WinGetText | 获取指定窗口的文本.
WinGetTitle | 获取指定窗口的标题.
WinHide | 隐藏指定的窗口.
WinKill | 强制关闭指定的窗口.
WinMaximize | 最大化指定的窗口.
WinMenuSelectItem | 从指定的窗口菜单栏调用菜单项目.
WinMinimize | 缩小指定的窗口为任务栏上的按钮.
WinMinimizeAll | 最小化所有窗口.
WinMinimizeAllUndo | 与前面 WinMinimizeAll 命令的效果相反.
WinMove | 改变指定窗口的位置和/或大小.
WinRestore | 如果指定的窗口处于最小化或最大化状态则还原它.
WinSet | 对指定的窗口进行各种设置, 例如 "总是置顶" 和透明度.
WinSetTitle | 改变指定窗口的标题.
WinShow | 取消隐藏指定的窗口.
WinWait | 等待指定的窗口出现.
WinWaitActive | 等待指定的窗口处于活动状态.
WinWaitClose | 等待指定的窗口消失.
WinWaitNotActive | 等待指定的窗口处于非活动状态.
#AllowSameLineComments | 仅适用于 AutoIt v2 (.aut) 脚本: 允许注释和命令出现在同一行.
#ClipboardTimeout | 改变当首次访问剪贴板失败后脚本继续尝试访问剪贴板多长时间.
#CommentFlag | 把脚本的注释符号从分号改为其他字符串.
#ErrorStdOut | 把阻止脚本运行的任何语法错误发送到标准输出而不是显示在对话框中.
#EscapeChar | 改变脚本的转义符 (例如: 反斜杠与重音符).
#HotkeyInterval | 与 #MaxHotkeysPerInterval 一起指定 热键 激活的速率, 超过此速率将显示警告对话框.
#HotkeyModifierTimeout | 影响 热键 修饰符的行为: CTRL, ALT, WIN, 和 SHIFT.
#Hotstring | 改变 热字串 选项或终止符.
#IfWinActive / #IfWinExist | 创建上下文相关的 热键 和 热字串. 根据窗口活动的或存在的不同情况, 这样的热键会执行不同的动作 (或什么都不做).
#Include | 使得脚本认为指定文件的内容会出现在这个准确的位置.
#InstallKeybdHook | 强制无条件安装键盘钩子.
#InstallMouseHook | 强制无条件安装鼠标钩子.
#KeyHistory | 设置 KeyHistory 窗口中显示的键盘和鼠标事件的最大数目. 设置为 0 可以禁用按键历史.
#MaxHotkeysPerInterval | 与 #HotkeyInterval 一起指定热键激活的速率, 超过此速率将显示警告对话框.
#MaxMem | 设置每个 变量 可使用的最大内存兆数.
#MaxThreads | 设置可同时启动的 线程 的最大数目.
#MaxThreadsBuffer | 使得某些或所有的 热键 缓冲而不是忽略键击, 当达到它们的 #MaxThreadsPerHotkey 限制时.
#MaxThreadsPerHotkey | 设置每个 热键 或 热字串 可同时启动的 线程 的最大数目.
#NoEnv | 不检查空变量是否为环境变量 (建议所有新建脚本使用).
#NoTrayIcon | 不显示托盘图标.
#Persistent | 让脚本持久运行 (即直到用户关闭或遇到 ExitApp 命令).
#SingleInstance | 决定当一个脚本已经运行时是否它允许再次运行.
#UseHook | 强制使用钩子实现全部或部分键盘 热键.
#WinActivateForce | 跳过温和的方法而直接使用强制的方法激活窗口.