Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/powershell/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
来自环境变量的路径在Powershell中不可用 所以我安装了Team Foundation Server PuthBELK工具,并验证了它们的存在,但是可执行文件(TfP.exe)在PosikS壳中似乎不可用。_Powershell - Fatal编程技术网

来自环境变量的路径在Powershell中不可用 所以我安装了Team Foundation Server PuthBELK工具,并验证了它们的存在,但是可执行文件(TfP.exe)在PosikS壳中似乎不可用。

来自环境变量的路径在Powershell中不可用 所以我安装了Team Foundation Server PuthBELK工具,并验证了它们的存在,但是可执行文件(TfP.exe)在PosikS壳中似乎不可用。,powershell,Powershell,查看$env:path(并通过系统属性查看path变量),我看到path变量的结尾如下所示: $env:Path={其他变量};%TFSPowerToolDir%;%BPADir%;。; 系统属性环境变量={其他变量};%TFSPowerToolDir%;%BPADir% 当我查看Env:TFSPOWER TooDIr时,我得到了C:\程序文件(x86)\微软Team Foundation Server 2013动力工具,所以看起来是正确的。 但如果我尝试运行tfpt,则会出现错误“术语“tfp

查看$env:path(并通过系统属性查看path变量),我看到path变量的结尾如下所示: $env:Path={其他变量};%TFSPowerToolDir%;%BPADir%;。; 系统属性环境变量={其他变量};%TFSPowerToolDir%;%BPADir%

当我查看Env:TFSPOWER TooDIr时,我得到了C:\程序文件(x86)\微软Team Foundation Server 2013动力工具,所以看起来是正确的。

但如果我尝试运行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
})

这确实解决了问题,谢谢。所以听起来我的系统运行不正常。所以这是一个很好的临时修复,并为我提供了有关问题的更多信息。再次感谢!