【问题标题】:How to use a variable as part of the path of a calling program如何使用变量作为调用程序路径的一部分
【发布时间】:2016-12-20 11:50:29
【问题描述】:

作为一个新的 PowerShell 用户,我打算调用一个本地程序,其路径不在 PATH 环境变量中。调用程序时,必须给出程序的相对或完整路径,例如.\Users\xxx\Downloads\program_name\bin\prog。然而,由于这条路径很长,有时可能会改变,所以作为一个 Linux Shell 脚本程序员,我想在路径中使用 variable,例如.\$prog_home\bin\prog

我的问题是如何初始化这个变量,以便可以像我事先假设的那样使用它?我试图以这种方式初始化变量-

$prog_home="User\xxx\Downloads\program_name"

不幸的是,这真的不能像在 Linux Shell 中那样工作

【问题讨论】:

    标签: powershell


    【解决方案1】:

    请考虑使用Join-Path cmdlet 来组合路径。还有一个内置的USERPROFILE 环境变量可供您使用。你可以这样做:

    $prog_home = Join-Path $env:USERPROFILE 'program_name'
    $prog = Join-Path $prog_home '\bin\prog.exe'
    & $prog #execute it
    

    【讨论】:

    • 在我看来,您输入了 $prog,而您的意思是 $prog_home。
    • @WalterMitty 你是对的。幸运的是 sodawillow 为我修好了 :-)
    • @MartinBrandl 和 alo sodawillow,太棒了!在尝试了你的代码之后,我现在更好地理解了 Powershell 的工作原理:) 非常感谢!
    • 不客气,感谢您的接受。如果您不想在配置文件中保留此类变量(因此,当您启动 powershell 时,您已经设置了 $prog,请查看 PowerShell 配置文件。
    猜你喜欢
    • 1970-01-01
    • 2018-06-13
    • 2012-11-01
    • 2017-01-19
    • 1970-01-01
    • 2014-02-07
    • 2015-03-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多