如何在Powershell tr​​y/catch块中放置变量

Wil*_*oss 2 string powershell

我的脚本中有一个变量用于我的路径:

$path = "C:\project\"
Run Code Online (Sandbox Code Playgroud)

然后在一个函数我有:

function DoWork {
    try 
    {
        C:\project\myapp.exe /silent
    }
    catch 
    {

    }
}
Run Code Online (Sandbox Code Playgroud)

我想用变量替换try块中的字符串文字.我已经尝试将$ {path}放在那里,并且($ path +"myapp.exe/silent")以及其他组合,但我似乎仍然得到错误.

用路径变量替换文字路径的正确方法是什么?

Mat*_*sen 5

将路径构造为字符串,然后将字符串作为参数提供给调用运算符(&):

try 
{
    $appPath = Join-Path $path myapp.exe
    & $appPath
}
catch 
{

}
Run Code Online (Sandbox Code Playgroud)

后续字符串参数&将被视为第一个参数表示的命令的参数:

& $appPath '/silent'
Run Code Online (Sandbox Code Playgroud)