Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Batch file 将参数从jenkins参数化生成传递到windows批处理命令_Batch File_Jenkins_Cmd - Fatal编程技术网

Batch file 将参数从jenkins参数化生成传递到windows批处理命令

Batch file 将参数从jenkins参数化生成传递到windows批处理命令,batch-file,jenkins,cmd,Batch File,Jenkins,Cmd,我开始使用Jenkins,这是一个非常好的工具。我们使用的是参数化构建,我们定义了参数,比如分支名称${branch}(例如dev、release、main等) 在构建配置中,我可以添加一个windows批处理命令,有没有办法将这些参数传递给批处理命令 我试图像“%${Branch}%”或“%Branch%”那样通过,但似乎不起作用 有人能帮忙吗 非常感谢使用参数化构建,您需要定义参数。当您单击“构建”链接时,将提示您这些的值 参数的名称应为普通名称,最好不带空格,如分支。不要将任何${}或%%

我开始使用Jenkins,这是一个非常好的工具。我们使用的是参数化构建,我们定义了参数,比如分支名称${branch}(例如dev、release、main等)

在构建配置中,我可以添加一个windows批处理命令,有没有办法将这些参数传递给批处理命令

我试图像“%${Branch}%”或“%Branch%”那样通过,但似乎不起作用

有人能帮忙吗


非常感谢

使用参数化构建,您需要定义参数。当您单击“构建”链接时,将提示您这些的值

参数的名称应为普通名称,最好不带空格,如
分支
。不要将任何
${}
%%
添加到参数名称的定义中

在构建步骤中,如执行Windows批处理命令,可以使用常规批处理语法引用参数,如
%Branch%

如果您是在*nix机器上,您将使用执行shell构建步骤并使用常规bash语法引用参数,如
${Branch}

请注意,即使在Windows上运行,许多Jenkins插件本身也采用*nix语法中的参数,但是执行Windows批处理命令将类似批处理,即
%Branch%

因此,您可以尝试键入:
echo%Branch%


我还建议将
set
命令单独放在一行中,它将显示构建过程中可用的所有环境变量,这非常有用。

我没有真正理解您的意思,因为我有点新,但是,如果你说的是如何像你的cmd-a那样运行不同的代码,然后是原始的and-b,那么这对我来说是有效的。 在dir中,使用参数名创建两个文件 如 -a、 球棒 -b、 球棒 您不需要用这些语言编写任何代码。 在命令的代码中 例如createfolder.bat 写

希望有帮助!
您甚至可以添加多达50个参数

这与TFS有什么关系?@GiulioVian标记已更新。:)@UnderDog您可以覆盖该参数,但下一个构建步骤(“windows批处理命令外部”)从作业继承的干净环境开始,因此您的修改将丢失。这是为了保持构建系统干净而设计的。可以用于各种环境变量操作,包括所需的。Thnks。。真的帮助我。
@echo off
if %~n1 == -a goto :aran
if %~n1 == -b goto :bran
:aran
Your first parameter code
cls
:bran
Your 2nd parameter code
cls