0

あるユーザー リスト (TEMP.txt) に含まれるユーザーのうち、別のユーザー リスト (TEMP2.txt) にも含まれているユーザーの割合を見つけるための簡単なスクリプトを作成しました。これは、私のユーザー リストが 100,000 を超えるまでの間、うまく機能しました。 ...遅すぎます。実行空間に変換して高速化したいのですが、惨めに失敗しています。元のスクリプトは次のとおりです。

$USERLIST1 = gc .\TEMP.txt
$i = 0

ForEach ($User in $USERLIST1){
If (gc .\TEMP2.txt |Select-String $User -quiet){
$i = $i + 1
}
}
$Count = gc .\TEMP2.txt | Measure-object -Line

$decimal = $i / $count.lines

$percent = $decimal * 100

Write-Host "$percent %"

申し訳ありませんが、私はまだpowershellに慣れていません。

4

2 に答える 2

0

実行空間の概念とは別に、次のスクリプトはもう少し速く実行できます。

$USERLIST1 = gc .\TEMP.txt
$USERLIST2 = gc .\TEMP2.txt

$i = 0

ForEach ($User in $USERLIST1) {
    if ($USERLIST2.Contains($User)) {
        $i += 1
    }
}

$Count = $USERLIST2.Count

$decimal = $i / $count
$percent = $decimal * 100
Write-Host "$percent %"
于 2016-03-31T20:41:13.777 に答える