自动 IT 脚本无法处理"+"符号



我在Java中有一个变量(fileSource(,它包含+符号。我尝试用以下代码将它粘贴到文件选择器对话框窗口中。

String autoITExecutable = "C:\_privat\filechooser.exe "" + fileSource + """;

AutoIT脚本,filechooser.exe:

WinWaitActive("Open")
Send($CmdLine[1])
Send("{ENTER}")

变量的值在没有+符号的情况下粘贴到对话框窗口。fileSource的示例值:C:_privateinputFilesmy_upload1+1+2(original).pdfAutoIT使用方式类似:C:_privateinputFilesmy_upload112(original).pdf

WinWaitActive("Open")
Send($CmdLine[1], 1)
Send("{ENTER}")

Send+解释为移位键。使用Send标志1的第二个参数发送原始文本。

来自自动发送功能:

'+'这个命令告诉AutoIt发送一个SHIFT键;因此Send("地狱+o"(将发送文本"地狱"。Send("!+a"(将发送"ALT+SHIFT+a"。

要克服这一点,您需要

flag[可选]更改"密钥"的处理方式:

$SEND_DEFAULT(0(=文本包含特殊字符,如+和!以指示按下SHIFT和ALT键(默认值(。

$SEND_RAW(1(=密钥是原始发送的。

结果:

$var = "..... + .... +" // string containing special characters - "+"
Send($var, 1)         // do not interpret, use raw

相关内容

  • 没有找到相关文章

最新更新