字符串中的 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%"

在这种情况下不需要转义。