使用Invoke-Expression vs Powershell -File

时间:2015-06-18 14:16:19

标签: powershell

这是一个新问题,源自之前的帖子:

Run Powershell script from inside other Powershell script with dynamic redirection to file

我正在跑步:

$logStreams = "2>&1>"

$command = '"C:\myscript.ps1" $_logStreams "C:\outputlog.txt"'

iex "& $command"

我发现使用iex "& $ command"调用我的脚本与使用Powershel -File "C:\myscript.ps1"调用脚本不同。

Myscript.ps1调用一个函数Download(带有一些参数),它创建并填充文件$ File1,然后是第二个文件$ File2(它也会生成前两个文件中的第三个文件)。

然后,在调用Download()之后的myscript.ps1的下一行中,我调用另一个函数Cleanup($ File1,$ File2),删除$ File1和$ File2。所有这一切都与Powershell -File" C:\ myscript.ps1"完美配合。但是当使用iex"& $命令"如上所述,Cleanup函数抱怨它无法绑定$ File1和$ File2,因为它们为null!

就像iex并行执行下载和清理功能一样(调用下载,不要等待它完成 - >立即调用Cleanup)。这是iex的预期行为还是我错过了一些基本的东西?

0 个答案:

没有答案