在Windows命令行参数中使用空格

时间:2018-05-31 13:25:56

标签: java windows autoit cmdline-args

我的AutoIt脚本:

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

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

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

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

1 个答案:

答案 0 :(得分:3)

  

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

根据Documentation - Intro - Running Scripts

  

如果您正在使用空格传递字符串,那么您需要使用"双引号"在命令行字符串中。

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

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

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