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

如何使用powershell对象中存储的参数调用文件名?,powershell,powershell-3.0,Powershell,Powershell 3.0,这个脚本很有效 $runFile = '.\runFile.ps1' & $runFile 这个脚本没有 $runFile = '.\runFile.ps1 -var "1"' & $runFile 第二个似乎不起作用,因为我试图用一个变量调用runFile.ps1 这可以在powershell中执行吗?使用调用表达式,而不是使用或&进行调用 假设runFile.ps1包含以下内容 ## runFile.ps1 param ( $var = "default1",

这个脚本很有效

$runFile = '.\runFile.ps1'
& $runFile
这个脚本没有

$runFile = '.\runFile.ps1 -var "1"'
& $runFile
第二个似乎不起作用,因为我试图用一个变量调用runFile.ps1


这可以在powershell中执行吗?

使用
调用表达式,而不是使用
&
进行调用

假设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

引用变得棘手。小心。

不要使用
&
进行调用,而是使用
调用表达式

假设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

引用变得棘手。小心。

@TessellatingHeckler-实际上没有,我确实运行了&$runFile。很抱歉,这不是我的真实代码,我刚刚编写了一个示例。@TessellingEckler-我在执行时遇到此错误-:术语“.\runFile.ps1-var“1”无法识别为cmdlet、函数、脚本文件或可操作程序的名称。检查名称的拼写,或者如果包含路径,请验证路径是否正确,然后重试。@TessellatingEckler-ok以便我可以执行此操作“&$runFile$p”,但是,$p中有多个参数,它只将其视为第一个参数parameter@TessellatingHeckler-实际上没有,我确实运行了&$runFile。很抱歉,这不是我的真实代码,我刚刚编写了一个示例。@TessellingEckler-我在执行时遇到此错误-:术语“.\runFile.ps1-var“1”无法识别为cmdlet、函数、脚本文件或可操作程序的名称。检查名称的拼写,或者如果包含路径,请验证路径是否正确,然后重试。@TessellatingHeckler-ok以便我可以执行此操作“&$runFile$p”,但是,$p中有多个参数,它只将其视为第一个参数