如何为 Powershell 脚本传入或设置环境变量?

我有一个 powershell 脚本作为 Azure DevOps 管道的一部分。我也想从 Windows 命令行运行它。在 Windows 中调用它们之前如何设置它们?也许在一个 cmd 文件中?注意 - 这些对于单次执行是临时的,不想设置 Windows 环境变量。

我正在powershell脚本中访问这样的环境变量:

$tfsAccessToken = If ($serverMode) {$env:SYSTEM_ACCESSTOKEN} else {"somethingelse"}
$tfsBuildDefinitionId = If ($serverMode) {$env:SYSTEM_DEFINITIONID} else {2}
约瑟夫·Z

SET命令

显示、设置或删除CMD环境变量。所做的更改SET将仅在当前CMD会话期间保留

例子

据说,_foo环境变量未在新打开的CMD提示中定义

set _foo
Environment variable _foo not defined
powershell -nologo -noprofile -command "& {$env:_foo ; $null -eq $env:_foo}"
True

但是,如果已定义,则_foo环境变量在子进程中可见powershell

set "_foo=bar"
powershell -nologo -noprofile -command "& {$env:_foo ; $null -eq $env:_foo}"
bar
False

另一个例子(异步子进程powershell):

set "_foo=bar"
start "SO_57237835" powershell -noexit -nologo -noprofile -command "& {$env:_foo;$null -eq $env:_foo}"

SO_57237835

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章