如何在Powershell命令中使用环境变量

时间:2018-12-28 16:54:58

标签: powershell

在旧样式的命令外壳中,我有一个名为GOPATH的环境变量集,我可以 像这样运行命令%GOPATH%\bin\helloenter image description here

Windows PowerShell 10中是否存在等效的简单命令?

编辑:我不尝试打印环境变量。我正在尝试使用它。

变量设置正确:

C:\WINDOWS\system32> echo $env:gopath
C:\per\go

现在,我想在命令行调用中实际使用它,但是它失败了:

C:\WINDOWS\system32> $env:gopath\bin\hello
At line:1 char:12
+ $env:gopath\bin\hello
+            ~~~~~~~~~~
Unexpected token '\bin\hello' in expression or statement.
    + CategoryInfo          : ParserError: (:) [],        ParentContainsErrorRecordException
    + FullyQualifiedErrorId : UnexpectedToken

3 个答案:

答案 0 :(得分:3)

使用$env:[Variablename]

例如:

$env:Appdata

$env:COMPUTERNAME

使用您的示例:

$env:GOPATH

要使用它来执行脚本,请使用

& "$env:GOPATH\bin\hello"

答案 1 :(得分:0)

一种解决方案是使用start-process -NoNewWindow来运行它。

C:\windows\system32> start-process -nonewwindow $env:gopath\bin\hello.exe
C:\windows\system32Hello, Go examples!
>

显然,这要冗长得多,并且将命令提示符置于看起来很奇怪的提示符:>。但这确实有效。

答案 2 :(得分:0)

在路径中使用环境变量来调用命令将需要点表示法或call operator。用引号将变量展开,然后调用运算符将​​调用路径。

点表示法

. "$env:M2_Home\bin\mvn.cmd"

呼叫接线员

& "$env:M2_Home\bin\mvn.cmd"