Multithreading 多线程PowerShell脚本
我制作了一个PowerShell脚本,它从CSV文件中获取数据,对数据进行排序并创建一个新的CSV文件 这个文件大约50mb,这使得我的脚本速度非常慢 我想让我的脚本多线程兼容,但是我在使用Start Job-Script block命令时遇到了问题 如果使用此命令,将不会创建新文件 你能看出我在剧本中的错误吗 谢谢你的帮助Multithreading 多线程PowerShell脚本,multithreading,powershell,csv,Multithreading,Powershell,Csv,我制作了一个PowerShell脚本,它从CSV文件中获取数据,对数据进行排序并创建一个新的CSV文件 这个文件大约50mb,这使得我的脚本速度非常慢 我想让我的脚本多线程兼容,但是我在使用Start Job-Script block命令时遇到了问题 如果使用此命令,将不会创建新文件 你能看出我在剧本中的错误吗 谢谢你的帮助 [CmdletBinding(DefaultParameterSetName='Parameter Set 1', SupportsShouldProcess=$t
[CmdletBinding(DefaultParameterSetName='Parameter Set 1',
SupportsShouldProcess=$true,
PositionalBinding=$false,
HelpUri = 'http://www.microsoft.com/',
ConfirmImpact='Medium')]
[Alias()]
[OutputType([String])]
Param (
# Param1 Pathvariable
[Parameter(Mandatory=$false, # Change this to $false.
Position=0,
ValueFromPipeline=$true,
ValueFromPipelineByPropertyName=$true,
ValueFromRemainingArguments=$false,
ParameterSetName='Parameter Set 1')]
$Path = 'C:\Users\xyc\Desktop\Sheduling\Aufgabe\AccountingData\AccountingList.csv',
$ExportPath = 'C:\Users\xyc\Desktop\Sheduling\Aufgabe\ExportCSV\SortedData\AccountingListSort.csv',
$MultiThread = 'Start-Job'
)
begin {
}
process {
$MultiThread | Start-Job -ScriptBlock {
$ExcludedJobs = @('EndPoint',
'RecoveryJobNetEndPoint',
'RecoveryJobNetStartPoint',
'StartPoint')
$Accountdata = Get-Content -Path $Path | convertfrom-csv -Delimiter ';'
$FilteredData = $Accountdata | Where-Object {$ExcludedJobs -notcontains $_.Jobname}
$GroupData = $FilteredData | Group-Object 'AccountNo' | Select-Object @{label='Accountnummer'; expression={$_.Name}}, @{label='Anzahl Jobs'; expression={$_.Count}}
$GroupData | Export-Csv -path $ExportPath -NoTypeInformation -Delimiter ';'
}
}
end {
}
作业中不存在您的变量。使用参数
-ArgumentList
使其可用。您好,谢谢您的回复。我必须在哪里添加参数-参数列表?好的,我知道了!-ArgumentList参数不支持位于脚本块末尾。作业中不存在您的变量。使用参数-ArgumentList
使其可用。您好,谢谢您的回复。我必须在哪里添加参数-参数列表?好的,我知道了!-ArgumentList参数支持位于脚本块末尾。