我们有一个Windows bat脚本在Windows中可以正常工作。在Jenkins下运行时,我们必须在带引号的字符串中运行嵌入式程序,这导致只有在命令完成之后才能看到输出。当在真正的Windows cmd.exe中运行时,在找到文本时输出会继续运行。 我们看到程序在路径目录中,我们还在执行之前添加了路径语句。 “C:\ MyPrograms \;%路径%”。 是什么原因导致Jenkins在执行完成之前保存输出,为什么程序在路径中时必须引用程序?我们正在使用SVN | Grep和我们没有找到prorgam,除非它是带有完整路径的带引号的字符串。 “c:\ Tortoise \ Svn.exe parms |”C:\ Myprogram \ grep.exe“”string“”直到最后才能输出。 c:\ Tortoise \ Svn.exe parms |当回显“%path%”命令中的路径可见时,找不到grep.exe“string”prorgam \ command。有什么想法吗?
答案 0 :(得分:0)
如何以及更重要的何时设置路径?作为工作的一部分或作为工作之外的单独步骤?
无论如何,您写道:“C \ MyPrograms \;%path%”
首先,我希望你这是一个错字,但你需要在:
之后使用冒号(C
)。
其次,使用set
命令设置路径,如下所示:
set PATH=%PATH%;C:\MyPrograms
现在是重要的一部分。从命令行设置这样的路径不是永久性的,并且只会在此cmd.exe
会话期间持续。所以,如果你作为工作的一部分这样做,那就没关系。但是,如果你是在命令行中单独进行的,那么这不是永久性的,并且在Jenkins运行时不可用。
您可以按照https://superuser.com/questions/317631/setting-path-in-windows-7-command-prompt
中的答案永久设置系统路径