Jenkins在批处理文件参数中处理空格

时间:2012-08-10 11:53:33

标签: batch-file msbuild jenkins

我在Windows上设置Jenkins来处理我一直在研究的Windows项目的构建。到现在为止,我刚刚在当地建设。我有一个执行构建的批处理文件,最终会生成一些msi安装程序。

某些项目包含运行批处理文件的后期构建步骤。批处理文件的参数有时包含空格。当我从命令提示符运行构建批处理文件时,这不是问题。

然而,Jenkins似乎遇到了这个问题 - 我得到了诸如

之类的错误

“找不到文件:C:\ Program”

我很困惑为什么Jenkins触发批处理时会发生错误,但是当我手动运行时却没有 - 任何想法?

2 个答案:

答案 0 :(得分:3)

对于包含空格的参数,请用双引号将它们包装起来。例如:

错误:PROCESS_FILE.EXE C:\ Program Files \ This File.txt

CORRECT:PROCESS_FILE.EXE“C:\ Program FIles \ This File.txt”

答案 1 :(得分:0)

正如Jason所说,你需要用引号传递你的参数和路径。

另外,检查构建日志并查看您正在使用的引用类型。根据传递的位置,您可能需要单引号或双引号,或某种转义字符。

如果要查看Jenkins为外部命令或前/后构建事件运行的实际批处理文件,请检查构建日志并在编辑器中加载临时批处理文件以查看其实际外观。有时这是调试构建所必需的。