- 版本 v1.1.15.01
- 指南和概述
- 常见问题(FAQ)
- 按字母排序的命令和函数索引
- AutoHotkey 脚本展示
- 变更和新功能
- 基本用法和语法
- 迁移到 AutoHotkey 1.1(AutoHotkey_L)
- 环境管理
- 本机代码互操作
- 文件、目录和磁盘管理
- Drive
- DriveGet
- DriveSpaceFree
- FileAppend
- FileCopy
- FileCopyDir
- FileCreateDir
- FileCreateShortcut
- FileDelete
- FileEncoding [AHK_L 42+]
- FileGetAttrib
- FileGetShortcut
- FileGetSize
- FileGetTime
- FileGetVersion
- FileInstall
- FileMove
- FileMoveDir
- FileOpen [AHK_L 42+]
- FileReadLine
- FileRead
- FileRecycle
- FileRecycleEmpty
- FileRemoveDir
- FileSelectFile
- FileSelectFolder
- FileSetAttrib
- FileSetTime
- IfExist / IfNotExist
- IniDelete
- IniRead
- IniWrite
- Loop(文件和文件夹)
- Loop(读取文件内容)
- SetWorkingDir
- SplitPath
- 流程控制
- 内置函数
- GUI、MsgBox、InputBox 及其他对话框
- 鼠标和键盘
- 鼠标和键盘
- #InstallKeybdHook
- #InstallMouseHook
- #KeyHistory
- BlockInput
- Click [v1.0.43+]
- ControlClick
- ControlSend / ControlSendRaw
- CoordMode
- GetKeyState
- KeyHistory
- KeyWait
- Input
- MouseClick
- MouseClickDrag
- MouseGetPos
- MouseMove
- Send / SendRaw / SendInput / SendPlay / SendEvent: 发送按键和点击
- SendLevel [v1.1.06+]
- SendMode [v1.0.43+]
- SetDefaultMouseSpeed
- SetKeyDelay
- SetMouseDelay
- SetCapsLockState/SetNumLockState/SetScrollLockState
- SetStoreCapslockMode
- 数学相关
- 屏幕管理
- 杂项命令
- 进程管理
- 注册表管理
- 声音命令
- 字符串管理
- 窗口管理
- 控件
- 窗口组
- #WinActivateForce
- DetectHiddenText
- DetectHiddenWindows
- SetTitleMatchMode
- SetWinDelay
- StatusBarGetText
- StatusBarWait
- WinActivate
- WinActivateBottom
- WinClose
- WinGet
- WinGetActiveStats
- WinGetActiveTitle
- WinGetClass
- WinGetPos
- WinGetText
- WinGetTitle
- WinHide
- WinKill
- WinMaximize
- WinMinimize
- WinMinimizeAll / WinMinimizeAllUndo
- WinMove
- WinRestore
- WinSet
- WinSetTitle
- WinShow
- WinWait
- WinWaitActive / WinWaitNotActive
- WinWaitClose
- #指令
文章来源于网络收集而来,版权归原创者所有,如有侵权请及时联系!
If/IfEqual/IfNotEqual/IfLess/IfLessOrEqual/IfGreater/IfGreaterOrEqual
指定在变量与值比较结果为 TRUE 时执行的命令。包含多个命令时,需要把它们括在区块(大括号)中。
IfEqual, var, value (等同于: if var = value) IfNotEqual, var, value (等同于: if var <> value) (可以使用 != 代替 <>) IfGreater, var, value (等同于: if var > value) IfGreaterOrEqual, var, value (等同于: if var >= value) IfLess, var, value (等同于: if var < value) IfLessOrEqual, var, value (等同于: if var <= value) If var ; 如果变量的内容为空或 0 时, 它被视为 false. 否则它被视为 true. 请参阅: IfInString
参数
- var
变量 名.
- value
文字字符串, 数字或变量引用 (例如 %var2%). 如果您希望将 var 与空字符串 (空白) 进行比较, 那么可以省略 Value.
备注
如果 var 和 value 都为纯数值, 那么它们将被作为数字而不是字符串进行比较. 其他情况下, 它们将被作为字符串按字母顺序进行比较 (即字母次序将决定 var 是大于, 等于或小于 value).
当 IF 或 ELSE 结构中含有多行命令时, 这些命令必须括在大括号中. 例如:
if count <= 0 { WinClose Untitled - Notepad MsgBox There are no items present. }
不过, 如果只有一行命令从属于 IF 或 ELSE, 那么可以不用大括号.
如果您使用命令名称风格, 那么另一个命令只能与 IF 语句在同一行. 换句话说, 这些语句都是有效的:
IfEqual, x, 1, Sleep, 1 IfGreater, x, 1, EnvAdd, x, 2
但这些是无效的:
if x = 1 Sleep 1 IfGreater, x, 1, x += 2
One True Brace (OTB) 风格 不 能用在 if 语句的这些类型中. 它只能和表达式类型的 if 语句一起使用.
相关提示,if var [not] between LowerBound and UpperBound 命令判断变量是否在两个值之间,而 if var [not] in value1,value2 可以用来判断变量内容是否存在于值列表中。
相关
IF (表达式), StringCaseSense, 赋值表达式 (:=), if var in/contains MatchList, if var between, IfInString, 区块, Else
示例
if counter >= 1 Sleep, 10 if counter >=1 ; 如果 IF 结构中含有多行命令, 那么这些命令必须括在大括号中: { WinClose, Untitled - Notepad Sleep 10 } if MyVar = %MyVar2% MsgBox The contents of MyVar and MyVar2 are identical. else if MyVar = { MsgBox, 4,, MyVar is empty/blank. Continue? IfMsgBox, No Return } else if MyVar <> , MsgBox The value in MyVar is not a comma. else MsgBox The value in MyVar is a comma. if Done MsgBox The variable Done is neither empty nor zero.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论