【问题标题】:Paths from environmental variables not available in Powershell来自环境变量的路径在 Powershell 中不可用
【发布时间】:2015-02-03 15:59:24
【问题描述】:

所以我已经安装了 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 它工作正常。所以环境变量是正确的。但它似乎没有被放置在路径中。

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

【问题讨论】:

    标签: powershell


    【解决方案1】:

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

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

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

    【讨论】:

    • 确实可以解决问题,谢谢。所以听起来我的系统运行不正确。所以这是一个很好的临时解决方案,并为我提供了有关问题所在的更多信息。再次感谢!
    猜你喜欢
    • 1970-01-01
    • 2017-01-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-05-19
    • 2016-03-05
    • 1970-01-01
    相关资源
    最近更新 更多