2014-10-01 100 views
0

我在Jenkins的文件中运行脚本。命令:PowerShell:传递参数

psexec -i -s cmd.exe /c echo . | powershell.exe -file "c:\Program Files (x86)\Applications\Jenkins\jobs\Deploy\workspace\Deploy\script.ps1" 

如何传递“构建”变量的值?

请帮我 感谢

回答

0

我的脚本出错了。我忘了插入以下代码:

Param(
    [int32]$build=0 
) 

As TheMadTechnician said,要运行脚本的命令是:

psexec -i -s cmd.exe /c echo . | powershell.exe -file "c:\Program Files (x86)\Applications\Jenkins\jobs\Deploy\workspace\Deploy\script.ps1" -build %BUILD_NUMBER% 
0

只需将遵循你的论点的路径。如:

psexec -i -s cmd.exe /c echo . | powershell.exe -file "c:\Program Files (x86)\Applications\Jenkins\jobs\Deploy\workspace\Deploy\script.ps1" '-build 1.0' 

您可以看到PowerShell.exe的命令行语法here。它显示:

PowerShell[.exe] 
     [-File <FilePath> [<Args>]] 

如果不为你工作,你可以尝试和点源在-command脚本块的脚本,如:

psexec -i -s cmd.exe /c echo . | powershell.exe -command {. "c:\Program Files (x86)\Applications\Jenkins\jobs\Deploy\workspace\Deploy\script.ps1" -build 1} 
+0

它不会在这种情况下工作( – Pavel 2014-10-01 21:00:47

+0

我在詹金斯还安装了“PowerShell的插件”并添加了以下命令:。\ Deploy \ script.ps1 -build 1.脚本已完成但构建变量未通过 – Pavel 2014-10-01 21:02:43

+0

添加了一个替代方案,我想PSExec将参数作为无效参数或某些类似参数切断。那。 – TheMadTechnician 2014-10-01 21:12:13