思想逻辑实现同上一篇 T-SQL
function Init-Random { param ( [string]$P ) ########################################## ## import file ########################################## $file = Import-Csv "D:\Users\dw.ccai\Documents\caipiao.csv" $file_f = @() $file_b = @() $file | ForEach-Object { $file_f+=$_.Num1 $file_f+=$_.Num2 $file_f+=$_.Num3 $file_f+=$_.Num4 $file_f+=$_.Num5 $file_b+=$_.Num6 $file_b+=$_.Num7 } $count = ($file | Measure-Object).Count $init_f = @() for($i=1;$i -le $count ;$i++){ $init_f+=1..35 } $init_b = @() for($i=1;$i -le $count ;$i++){ $init_b+=1..12 } $init_f = [System.Collections.ArrayList]$init_f foreach($f in $file_f){ $index = $init_f.IndexOf([int]$f) if($index -ge 0){ $init_f.RemoveAt($index) } } $init_b = [System.Collections.ArrayList]$init_b foreach($b in $file_b){ $index = $init_b.IndexOf([int]$b) if($index -ge 0){ $init_b.RemoveAt($index) } } [int[]]$arr_f = @() for($i=1;$i -le 5 ;$i++){ $Num = ($init_f | Get-Random) $arr_f += $Num.ToString() while($init_f.Contains($Num)){ $init_f.Remove($Num) } } $str_f = [system.String]::Join(",", ($arr_f | Sort-Object)) [int[]]$arr_b = @() for($i=1;$i -le 2 ;$i++){ $Num = ($init_b | Get-Random) $arr_b += $Num.ToString() while($init_b.Contains($Num)){ $init_b.Remove($Num) } } #$str_b = [system.String]::Join(",", ($arr_b | Sort-Object)) return ($arr_f | Sort-Object) + ($arr_b | Sort-Object) } ############################################################################################################################## $arr = Init-Random $str_b = [system.String]::Join(",", $arr) Write-Host $str_b