我有下面的 PowerShell 脚本,可以为我将文件移动到我的亚马逊存储桶,并且对于一些小文件来说一切正常,但是当复制较大的文件时,for 循环继续循环并在其他人完成之前开始复制,并且不需要很长时间在我一次传输 100 多个文件之前。
我想要的是能够将同时文件传输的数量限制为 5 或 10?
foreach ($line in $csv) {
#--------------------Transfer files Put in a for each loop here---------------------------
$SourceFolder =$line.destination
$sourceFile = $line.name
if(test-Path -path $SourceFolder){
Write-S3Object -BucketName $BucketName -Key $sourceFile -File $SourceFolder
#check fro missing files
$S3GetRequest = New-Object Amazon.S3.Model.S3Object #get-S3Object -BucketName $BucketName -Key $sourceFile
$S3GetRequest = get-S3Object -BucketName $BucketName -Key $sourceFile
if($S3GetRequest -eq $null){
Write-Error "ERROR: Amazon S3 get requrest failed. Script halted."
$sourceFile + ",Transfer Error" |out-file $log_loc -append
}
}else {$SourceFolder + ",Missing File Error" |out-file $log_loc -append}
}