PowerShell Workflow可以... while循环..looped

时间:2019-10-31 16:56:56

标签: powershell workflow

我正在修改工作流以同时处理许多文件。在实际实现之前,我已经编写了一段(拙劣的)代码。

问题是循环..被循环!。脚本的想法是将文件列表获取到Array中(让其称为“原始”)创建新的数组(使它们称为“ LoopingArray”)以处理成批“ x”个文件并删除已处理的文件。项目组成数组以创建一个新数组以处理..etc,直到原始数组为空。

为每个项目创建一个txt文件,因此,当“原始”数组为空时,Do..While应该停止。但事实并非如此。它不断地创建文件。我做错了什么?:

   Workflow Test-Workflow {
      $SourceFolder = "c:\test\whatever"
      $Files = [System.IO.Directory]::EnumerateFiles($SourceFolder, '*.*', 'AllDirectories')
      $ArrayCount = $Files| Measure-Object | Select-Object Count

    Do {

        $NewArray = $Files | Select-Object -First 20
        $Files = $Files | Where-Object { $NewArray -notcontains $_ }
        $ArrayCount = $Files| Measure-Object | Select-Object Count

        ForEach -Parallel ($it in $NewArray)
            {

                $Name = Get-Random
                $Filepath = "C:\temp\test\"+"$Name"+".txt"
                $it | Out-File -FilePath $Filepath

            }
    } Until ($ArrayCount.Count -eq "0")

}

谢谢!

0 个答案:

没有答案