【问题标题】:Equivalent of "cd %programfiles%" in PowerShell?等效于 PowerShell 中的“cd %programfiles%”?
【发布时间】:2013-12-06 22:21:23
【问题描述】:

在传统的cmd中,我们可以使用cd %programfiles%切换目录,一般是C:\Program Files

在PowerShell中,如何通过环境变量进入目录?

【问题讨论】:

    标签: powershell environment-variables


    【解决方案1】:

    原理是:

    $Env:variablename
    

    所以你可以试试:

    cd $Env:Programfiles
    

    或者临时切换工作目录到%Programfiles%\MyApp:

    Push-Location -Path "$Env:Programfiles\MyApp"
    #
    # command execution here
    #
    Pop-Location
    

    列出您可以执行的所有环境变量:

    Get-ChildItem Env:
    

    或使用方便的别名:

    ls env:
    

    【讨论】:

    • 如果我想去C:\Program Files\Common Files,我应该怎么写命令呢?我可以使用 cd $env:ProgramFiles"\Common Files" 而不使用 + 来连接两个字符串,这似乎很奇怪。你能解释一下吗?
    • 我找到了一些解释这个的文章:roelvanlisdonk.nl/?p=1153jrich523.wordpress.com/2011/07/01/…
    【解决方案2】:

    要查看所有环境变量,请执行以下操作:

    dir env:
    

    要查看所有包含“程序”的内容,请执行以下操作:

    dir env: | ? { $_.Value -match 'Program' }
    

    在 PowerShell 3 中它更干净:

    dir env: | ? Value -match 'Program'
    

    我们想要的是env:ProgramFiles,我们可以这样做:

    cd $env:ProgramFiles
    

    【讨论】:

    • 真的很烦人,如果你在变量名中输入错字,它会默默地失败,没有任何解释。
    • 它确实提供了选项卡自动完成功能......有点好。如果$e-tab 会自动完成到$env: 而不是跳转到第一个环境变量会更好...
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-02-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多