Powershell中没有环境变量的路径

时间:2015-02-03 15:59:24

标签: powershell

所以我安装了Team Foundation Server PowerShell工具,并验证它们是否存在,但PowerShell中似乎没有可执行文件(TFPT.exe)。

查看$ env:path(并通过系统属性查看路径变量)我看到路径变量的结尾如下所示: $ env:Path = {other variables};%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它可以正常工作。所以环境变量是正确的。但它似乎没有放在路上。

关于如何钓鱼的任何想法?

1 个答案:

答案 0 :(得分:2)

实际上,不能在这里复制问题。问题似乎是其他环境变量没有在$ Env:PATH中扩展,但是在快速测试中,PowerShell可靠地为我做到了。

您可以尝试通过在配置文件脚本中手动扩展环境变量来解决此问题。例如。具有以下内容:

$Env:PATH = [regex]::Replace($Env:PATH, '%([^%]+)%', {
  param($m)
  $n = $m.Groups[1].Value
  Get-Content -Raw Env:\$n
})