[英]Comparing strings using powershell not working
I'm trying to compare strings using powershell but its not working as required. 我正在尝试使用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
The elseif part executes everytime I tried to run the powershell script. 每当我尝试运行powershell脚本时,elseif部分就会执行。 The test.txt and compare_test both contain same set of strings as follows
test.txt和compare_test都包含相同的字符串集,如下所示
NTHKGTBP126 2401
NTHKGTBP132 806
and so on. 等等。
It's hard to answer without access to the data. 如果不访问数据,很难回答。 Have you looked at the
Compare-Object
cmdlet? 您是否看过
Compare-Object
cmdlet?
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.