You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将含空格的文件名作为参数传入AutoIt脚本?

解决AutoIt脚本处理含空格文件名时的"File not found"错误

问题原因

Java执行AutoIt生成的exe时,直接用字符串拼接传递带空格的文件路径,会被命令行将空格识别为参数分隔符。比如你传入的"C:\\Temp\\TMP\\TCs\\TC1\\Solution File.txt"会被拆成两个参数:C:\Temp\TMP\TCs\TC1\Solution和File.txt,而AutoIt脚本里的$CmdLine[1]只能获取到第一个参数,自然找不到对应文件。

修复方法

方法1:给文件路径包裹双引号

在Java代码中,给filePath前后添加转义后的双引号(\"),确保带空格的路径被当作单个参数传递:

Runtime.getRuntime().exec("C:\\Users\\Screenshots\\Parameterized.exe" + " \"" + filePath + "\"");

方法2:使用字符串数组传递参数(推荐)

Runtime.exec支持传入字符串数组,每个元素对应一个独立的命令行参数,系统会自动处理参数拆分逻辑,无需手动加引号:

String[] cmd = {
    "C:\\Users\\Screenshots\\Parameterized.exe",
    filePath
};
Runtime.getRuntime().exec(cmd);

验证

修改Java代码后,AutoIt脚本的$CmdLine[1]就能获取到完整的带空格文件路径,ControlSetText会将正确路径填入弹窗输入框,避免"File not found"错误。

内容的提问来源于stack exchange,提问作者Sam

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.12 01:20:43