Powershell 中不可用的环境变量路径
Paths from environmental variables not available in Powershell
所以我安装了 Team Foundation Server PowerShell 工具,并验证它们存在,但可执行文件 (TFPT.exe) 似乎在 powershell 中不可用。
查看 $env:path(并通过系统属性查看路径变量)我看到路径变量的结尾如下所示:
$env:Path = {其他变量};%TFSPowerToolDir%;%BPADir%;.;
系统属性环境变量 = {其他变量};%TFSPowerToolDir%;%BPADir%
当我查看 $env:TFSPowerToolDir 时,我得到 C:\Program Files (x86)\Microsoft Team Foundation Server 2013 Power Tools\,所以这似乎是正确的。
但是,如果我尝试 运行 tfpt,我会收到错误消息“术语 'tfpt.exe' 未被识别为 cmdlet 的名称...
如果我先执行 cd $env:TFSPowerToolDir 和 运行 tfpt 它工作正常。所以环境变量是正确的。但它似乎没有被放置在路径中。
关于如何钓鱼有什么想法吗?
实际上无法在此处重现该问题。问题似乎是其他环境变量没有在此处的 $Env:PATH 中扩展,但在快速测试中,PowerShell 可靠地为我做了。
您可以尝试通过在配置文件脚本中手动扩展环境变量来解决该问题。例如。类似以下内容:
$Env:PATH = [regex]::Replace($Env:PATH, '%([^%]+)%', {
param($m)
$n = $m.Groups[1].Value
Get-Content -Raw Env:$n
})
所以我安装了 Team Foundation Server PowerShell 工具,并验证它们存在,但可执行文件 (TFPT.exe) 似乎在 powershell 中不可用。
查看 $env:path(并通过系统属性查看路径变量)我看到路径变量的结尾如下所示: $env:Path = {其他变量};%TFSPowerToolDir%;%BPADir%;.; 系统属性环境变量 = {其他变量};%TFSPowerToolDir%;%BPADir%
当我查看 $env:TFSPowerToolDir 时,我得到 C:\Program Files (x86)\Microsoft Team Foundation Server 2013 Power Tools\,所以这似乎是正确的。
但是,如果我尝试 运行 tfpt,我会收到错误消息“术语 'tfpt.exe' 未被识别为 cmdlet 的名称...
如果我先执行 cd $env:TFSPowerToolDir 和 运行 tfpt 它工作正常。所以环境变量是正确的。但它似乎没有被放置在路径中。
关于如何钓鱼有什么想法吗?
实际上无法在此处重现该问题。问题似乎是其他环境变量没有在此处的 $Env:PATH 中扩展,但在快速测试中,PowerShell 可靠地为我做了。
您可以尝试通过在配置文件脚本中手动扩展环境变量来解决该问题。例如。类似以下内容:
$Env:PATH = [regex]::Replace($Env:PATH, '%([^%]+)%', {
param($m)
$n = $m.Groups[1].Value
Get-Content -Raw Env:$n
})