2012-10-15 4 views
0

powershell을 사용하여 문자열을 비교하려고하지만 필요에 따라 작동하지 않습니다.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 

elseif 부분은 powershell 스크립트를 실행하려고 할 때마다 실행됩니다. 등

NTHKGTBP126 2401 
NTHKGTBP132 806 

하고 다음과 같이 TEST.TXT compare_test 모두 문자열의 동일한 세트를 포함한다.

답변

1

데이터에 액세스하지 않고도 대답하기가 어렵습니다. Compare-Object cmdlet을 살펴 보셨습니까?

관련 문제