我是powershell的新手,需要一些帮助。 我有一些脚本的例子
1..10| % { #count of iteration
While (@(Get-Job | Where { $_.State -eq "Running" }).Count -ge $MaxThreads)
{
Write-Host "Waiting for open thread...($MaxThreads Maximum)"
Start-Sleep -Seconds 2 #rump-up period
}
$Scriptblock = {
param($name)
& "ConsoleUI.exe" mode/s savetodisk/true filepath/C:\6383.incoming
Write-Host "Result of request № $name" $LASTEXITCODE
"Result of request № $name $LASTEXITCODE" | Out-File C:\results.txt -Append
}
Start-Job -ScriptBlock $Scriptblock -ArgumentList $_
}
我在dir“C:\ test”中有一些文件,如“111.incoming”,“222.incoming”,“333.incoming”,我需要在文件路径/ C中替换它们:...转入循环。 有办法做到这一点吗? 感谢。
答案 0 :(得分:0)
您没有提及是否需要立即将所有文件传递给ConsoleUI.exe,或者您是否需要逐个传递它们。我会猜测后者,例如,将它们逐个传递给ConsoleUI.exe。
我还使用Get-ChildItem
的 DIR 和Select-Object
的 SELECT 等别名来匹配您当前的使用情况。
$Scriptblock = {
param($name)
DIR 'C:\test\*.incoming' | Select -Expand FullName | % {
& "ConsoleUI.exe" mode/s savetodisk/true filepath/$_
Write-Host "Result of request № $name, file $_ $LASTEXITCODE"
"Result of request № $name, file $_ $LASTEXITCODE" | Out-File C:\results.txt -Append
}
}