在PowerShell工作流中,以下内容有效:
$strings='one','two','three'
foreach -parallel($string in $strings)
{
"Hello: $string"
}
写这篇文章的一种简单方法(没有平行部分)是:
$strings='one','two','three'
$strings | `
%{
"Hello: $_"
}
有没有一种方法可以使用简写版本,指定它应该并行运行?
我看不出来。
%
是作为核心cmdlet的ForEach-Object
的默认别名。工作流中的foreach -parallel
是与cmdlet分离的工作流活动,仅可在工作流中调用。在这种情况下,您需要在工作流中将别名设置为foreach -parallel
才能调用工作流活动,但在工作流(源)中不允许操作别名。