字符串中的 Autohotkey 变量会导致换行
Autohotkey variable inside a string causes new lines
我在向 cmd 发送如下所示的输入时遇到问题:
SendInput wmic /node:%Target% product where name="%product%" call uninstall
问题是在发送输入后,它看起来像这样:
C:\Users\username\folder>wmic /node:localhost product where name="Name"
call uninstall
有一个完整的新行,如果 %product% 只是一个字符串,新行不会出现,这似乎是添加变量的问题,但是我是 Autohotkey 的新手,我可以'不知道是什么原因造成的。
提前致谢
更新:
我设法通过使用 AutoTrim 修复了它,出于某种原因我花了一段时间才找到一个工作示例。这就是我最终做的。
Appname = %Appname%
SendInput wmic /node:%Target% product where name="%Appname%" call uninstall
Appname 实际上是 wmic 产品输出中的一个选项,就像@Jim U 提出的尾随换行符问题一样。感谢大家的帮助。
Appname 实际上是 wmic 产品输出中的一个选项,就像@Jim U 提出的尾随换行符问题一样。感谢大家的帮助。
在发送到 cmd 之前用重音符号转义引号和百分号
例如
send, for `/f `"tokens`=1`-5`" `%i in `(test1.txt`) do echo `%k
注意:对于cmd,AHK可以解释的所有内容都要进行转义。
此外,您可以直接从 AHK 消息向 cmd 执行代码,而不是将文本发送到 cmd window。例如
Run %ComSpec% /k "title %A_Index%"
在这种情况下不需要转义。
我在向 cmd 发送如下所示的输入时遇到问题:
SendInput wmic /node:%Target% product where name="%product%" call uninstall
问题是在发送输入后,它看起来像这样:
C:\Users\username\folder>wmic /node:localhost product where name="Name"
call uninstall
有一个完整的新行,如果 %product% 只是一个字符串,新行不会出现,这似乎是添加变量的问题,但是我是 Autohotkey 的新手,我可以'不知道是什么原因造成的。
提前致谢
更新:
我设法通过使用 AutoTrim 修复了它,出于某种原因我花了一段时间才找到一个工作示例。这就是我最终做的。
Appname = %Appname%
SendInput wmic /node:%Target% product where name="%Appname%" call uninstall
Appname 实际上是 wmic 产品输出中的一个选项,就像@Jim U 提出的尾随换行符问题一样。感谢大家的帮助。
Appname 实际上是 wmic 产品输出中的一个选项,就像@Jim U 提出的尾随换行符问题一样。感谢大家的帮助。
在发送到 cmd 之前用重音符号转义引号和百分号 例如
send, for `/f `"tokens`=1`-5`" `%i in `(test1.txt`) do echo `%k
注意:对于cmd,AHK可以解释的所有内容都要进行转义。
此外,您可以直接从 AHK 消息向 cmd 执行代码,而不是将文本发送到 cmd window。例如
Run %ComSpec% /k "title %A_Index%"
在这种情况下不需要转义。