我的脚本中有一个变量用于我的路径:
$path = "C:\project\"
然后在我的一个函数中:
function DoWork {
try
{
C:\project\myapp.exe /silent
}
catch
{
}
}
我想用变量替换try块中的字符串文字。我已经尝试将$ {path}放在那里,并且($ path +" myapp.exe / silent")以及其他组合,但我似乎仍然会出错。
用路径变量替换文字路径的正确方法是什么?
答案 0 :(得分:5)
将路径构造为字符串,然后将字符串作为参数提供给调用操作符(&
):
try
{
$appPath = Join-Path $path myapp.exe
& $appPath
}
catch
{
}
&
的后续字符串参数将被视为第一个参数表示的命令的参数:
& $appPath '/silent'
答案 1 :(得分:1)
要将动态参数列表传递给外部函数调用(根据您的注释),请使用splatting:
$Params = @('/silent','/quiet')
$exe = "$Path\myapp.exe"
& $exe @Params
答案 2 :(得分:0)
你也可以试试这个:
function DoWork {
$path = "C:\project\"
try
{
"$path\myapp.exe"
}
catch
{
}
}