指定在变量与值的比较结果为 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 LowerBound and UpperBound 判断变量是否在两个值之间, 而 if var [not] in value1,value2 可以用来判断变量内容是否存在于值列表中.
If (表达式), StringCaseSense, 赋值表达式(:=), if var in/contains, if var between, IfInString, 区块, Else
if counter >= 1 Sleep, 10 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. if Done MsgBox The variable Done is neither empty nor zero.