AutoTrim


设置在像 "Var1 = %Var2%" 这样的表达式中,给 Var1 赋值的时候是否自动省略 Var2 中首尾的空格和Tab。

AutoTrim, On|Off

参数

On|Off

On:在像 Var1 = %Var2% 这样的表达式中,给 Var1 赋值的时候自动省略 Var2 首尾的空格和Tab。这是默认设置。

Off:不省略首尾的空格和Tab。但是即使在这种设置下,显式的Tab和空格(包括 `t)仍然会被自动省略掉。比如,在 Var1 = `t%Var2% 中,仍然会自动省略掉 `t。为避免这种情况,可以使用如下语句:

Var1 = %A_Tab%%Var2%%A_Space%  ; AutoTrim 必须在 Off 的情况下才有效。
Var1 := "`t" . Var2 . " "  ; AutoTrim的设置对这种情况完全没有影响,因为它是一个 expression/表达式

注意

如果在脚本中不使用这个命令,它默认是 On 。

内置变量 A_AutoTrim 存储了当前的设置(On 或 Off)。

内置变量 A_SpaceA_Tab 分别存储了单个空格和单个Tab。

AutoTrim 不影响 expression assignments/表达式任务,例如 Var := " string "。也就是说,在这种情况下,首尾的空格和Tab总是被保留的。

每一个新运行的 Thread/线程(例如一个 hotkey/热键custom menu item/自定义菜单,或 timed/定时器 事件)会将 AutoTrim 的设置重置为默认值。要更改 AutoTrim 的默认值,可以将命令放在脚本的自动执行区域(脚本的顶部)。

相关命令

SetEnv

示例

AutoTrim, Off
NewVar1 = %OldVar%  ; 如果 OldVar 中首尾有空格或Tab,NewVar1 中也会保留。
NewVar2 = %A_Space%  ; 在 AutoTrim 为 Off 的情况下可以这样分配一个空格给 NewVar2。

Var1 := "`t" . Var2 . " "  ; AutoTrim 的设置不影响它因为它是一个 expression/表达式