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

Gradle脚本内CMD exec执行块报错" was unexpected at this time.",求原因?

错误原因分析

核心触发原因

${dependenciesFile}对应的文件路径包含空格或特殊字符,直接拼接到CMD命令中时,CMD会将空格视为参数分隔符,破坏了原命令的括号/语法结构,导致解析时出现引号不匹配的错误,即"" was unexpected at this time。

辅助问题(加重解析错误)

  1. Gradle字符串转义不完整:CMD中的脱字符^(用于转义重定向符>)在Gradle双引号字符串中需要二次转义(写成^^),否则Gradle会自动吃掉^,导致CMD收到的命令中2^>nul变成2>nul,虽然这部分不会直接触发当前报错,但会破坏原命令的错误抑制逻辑。
  2. 路径未加引号包裹:即使路径无空格,未用双引号包裹${dependenciesFile}的情况下,CMD解析带括号的复合命令时也可能触发语法异常。

修正示例

将文件路径用双引号包裹,并修正转义:

exec {
    ignoreExitValue true
    executable "cmd"
    args "/c", "cd workspace/${project}/conf && @echo off && 2^^>nul (>>\"${dependenciesFile}\" echo off) && echo file is not locked || echo file is locked"
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.20 04:20:30