指定在变量与值的比较结果为 true 时执行的一个或多个语句.
过时的: 不推荐在新脚本中使用传统 If 语句. 有关详情, 请参阅脚本语言: If 语句, 请使用 If (表达式) 代替.
IfEqual, Var , Value ; if Var = Value IfNotEqual, Var , Value ; if Var != Value IfLess, Var , Value ; if Var < Value IfLessOrEqual, Var , Value ; if Var <= Value IfGreater, Var , Value ; if Var > Value IfGreaterOrEqual, Var , Value ; if Var >= Value
如果 Var 和 Value 都为纯数值, 那么它们将被作为数字而不是字符串进行比较. 其他情况下, 它们将被作为字符串按字母顺序进行比较(即字母次序将决定 Var 是大于, 等于或小于 Value).
如果 If 拥有多行, 那么这些行必须用大括号括起来(创建一个区块). 但是, 如果只有一行属于 If, 则大括号是可选的. 例如:
if count <= 0 { WinClose Untitled - Notepad MsgBox There are no items present. }
注意类命令的 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 Low and High 判断变量是否在两个值之间, 而 If Var [not] in/contains MatchList 可以用来判断变量内容是否存在于值列表中.
If (表达式), StringCaseSense, 赋值表达式(:=), If Var [not] in/contains MatchList, If Var [not] between Low and High, IfInString, 区块, Else
如果 counter 大于或等于 1, 关闭记事本并休止 10 ms.
if counter >= 1 ; 若要执行多行, 请将这些行用大括号括起来: { 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.