簡體   English   中英

使用Powershell比較字符串不起作用

[英]Comparing strings using powershell not working

我正在嘗試使用Powershell比較字符串,但無法按要求工作。

$compare_test = @(Get-Content compare_test.txt)
$test = @(Get-Content test.txt)
for ($c1 = 0; $c1 -lt $test.Length; $c1++) {
    $space_position = $test[$c1].IndexOf(" ")
    $leftpart = $test[$c1].Substring(0, $space_position)
    $rightpart = $test[$c1].Substring($space_position+1)
    $type_cast_rightpart = [int]$rightpart
    for ($c3 = 0; $c3 -lt $compare_test.Length; $c3++) {
        $space_position_2 = $compare_test[$c3].IndexOf(" ")
        $leftpart_2 = $compare_test[$c3].Substring(0, $space_position_2)
        $rightpart_2 = $compare_test[$c3].Substring($space_position_2+1)
        $type_cast_rightpart_2 = [int]$rightpart_2
        $same_server = $leftpart_2.CompareTo($leftpart)
        if ($same_server -eq 0) {
            if ($type_cast_rightpart -gt $type_cast_rightpart_2) {
                $entry_server_log = $leftpart + " " + $type_cast_rightpart
                $myarray += $entry_server_log
                break
            }
            else {
                $entry_server_log = $leftpart + " " + $type_cast_rightpart_2
                $myarray += $entry_server_log
                break
            }
        }
        elseif ($same_server -eq 1 -or $same_server -eq -1) {
            $entry_server_log = $leftpart_2 + " " + $type_cast_rightpart_2
            $myarray += $entry_server_log
            break
        }
    }
}
Set-Content compare_test.txt $myarray

每當我嘗試運行powershell腳本時,elseif部分就會執行。 test.txt和compare_test都包含相同的字符串集,如下所示

NTHKGTBP126 2401
NTHKGTBP132 806

等等。

如果不訪問數據,很難回答。 您是否看過Compare-Object cmdlet?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM