1

我的 AutoIt 脚本:

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

我从 Java 执行它(将文件路径传递给它):

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

文件名包含空格,因此它将文件名读取到第一个空格并忽略其余部分。如何正确传递包含空格的文件路径作为命令行参数?

4

1 回答 1

3

文件名包含空格,但它仅读取第一个空格的文件名并剪切文件名。

根据文档 - 介绍 - 运行脚本

如果您要传递带空格的字符串,则需要在命令行字符串中使用“双引号”对这些字符串进行转义。

如果没有,空格后的文本将包含在下一个数组元素中($CmdLine[2]在这种情况下)。Java 示例:

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

$CmdLineRaw根据接收 AutoIt 脚本,未处理的命令行(单个字符串)可用。

于 2018-05-31T14:02:46.740 回答