如何使用存储在powershell对象中的参数调用文件名?

时间:2017-06-29 05:20:56

标签: powershell powershell-v3.0

此脚本有效

$runFile = '.\runFile.ps1'
& $runFile

这个脚本没有

$runFile = '.\runFile.ps1 -var "1"'
& $runFile

第二个似乎不起作用,因为我试图用变量调用runFile.ps1。

这可以在powershell中完成吗?

1 个答案:

答案 0 :(得分:0)

不使用.&拨打电话,而是使用Invoke-Expression

假设runFile.ps1具有以下内容

## runFile.ps1
param (
    $var = "default1",
    $p = "default2"
)

Write-Host -ForegroundColor Green -Object $var
Write-Host -ForegroundColor Blue -Object $p

这样做:

$run = ".\runFile.ps1 -var 'awesome' -p 'cool stuff'"
Invoke-Expression -Command $run

引用变得棘手。小心。