【发布时间】:2013-12-06 22:21:23
【问题描述】:
在传统的cmd中,我们可以使用cd %programfiles%切换目录,一般是C:\Program Files。
在PowerShell中,如何通过环境变量进入目录?
【问题讨论】:
标签: powershell environment-variables
在传统的cmd中,我们可以使用cd %programfiles%切换目录,一般是C:\Program Files。
在PowerShell中,如何通过环境变量进入目录?
【问题讨论】:
标签: powershell environment-variables
原理是:
$Env:variablename
所以你可以试试:
cd $Env:Programfiles
或者临时切换工作目录到%Programfiles%\MyApp:
Push-Location -Path "$Env:Programfiles\MyApp"
#
# command execution here
#
Pop-Location
列出您可以执行的所有环境变量:
Get-ChildItem Env:
或使用方便的别名:
ls env:
【讨论】:
cd $env:ProgramFiles"\Common Files" 而不使用 + 来连接两个字符串,这似乎很奇怪。你能解释一下吗?
要查看所有环境变量,请执行以下操作:
dir env:
要查看所有包含“程序”的内容,请执行以下操作:
dir env: | ? { $_.Value -match 'Program' }
在 PowerShell 3 中它更干净:
dir env: | ? Value -match 'Program'
我们想要的是env:ProgramFiles,我们可以这样做:
cd $env:ProgramFiles
【讨论】:
$e-tab 会自动完成到$env: 而不是跳转到第一个环境变量会更好...