在工作流中调用工作流



我试图在一个文件夹中读取文本文件,并通过两个工作流读取内容。是否有可能在另一个工作流中调用一个工作流?

workflow ReadFilesFromFolder
{
     $folderPath = 'C:UsersMyNameMyFolder'
     Get-ChildItem $folderPath -Filter *.txt | 
        Foreach-Object {
            ReadTextFile $_.FullName   
        }
}
workflow ReadTextFile
{
    param($path)
    $lines = Get-Content $path  
    ForEach -Parallel ($line in $lines)
    {        
            $line  
    }
}

PS: Foreach parallel只接受工作流

您必须显式地名称指定参数。它看起来也像你不能调用Foreach-Object cmdlet内的工作流-然而foreach似乎工作:

workflow ReadFilesFromFolder
{
     $folderPath = 'C:UsersMyNameMyFolder'
     $items = Get-ChildItem $folderPath -Filter *.txt
     foreach($item in $items)
     {
         ReadTextFile -path $item.FullName   
     }
}
workflow ReadTextFile
{
    param($path)
    $lines = Get-Content $path  
    ForEach -Parallel ($line in $lines)
    {        
        $line  
    }
}

最新更新