gpt4 book ai didi

powershell - PowerShell比较两个字符串的内容

转载 作者:行者123 更新时间:2023-12-03 00:53:44 27 4
gpt4 key购买 nike

我正在尝试比较两个变量的值,但是这两个字符串的内容顺序不同

例:

$Var1 = "item1"
$Var1 += "item2"
$Var2 = "item2"
$Var2 = "item1"

我如何比较这两个变量以查看它们是否相等?

=====用示例更新=====
示例:获取对象并对其进行排序。
$Computers = (Get-Content "$PWD\Computers.txt").GetEnumerator() | Sort-Object {"$_"}

示例:添加结果并对它们进行排序。
$Successful += $Computer
$Successful = $Successful.GetEnumerator() | Sort-Object {"$_"}

示例脚本:使用以上示例创建以下脚本。该示例使我可以检查结果,而不是检查结果,但是通过内容检查,可以使我得到更准确的比较。在我使用“Successful.count -eq Computers.count”之前,它不会检查计算机是否输入了两次。
$Computers = (Get-Content "$PWD\Computers.txt").GetEnumerator() | Sort-Object {"$_"}
$HotFixes = Get-Content "$PWD\HotFixes.csv"
CLS
While (!$Successful -OR $Successful -ne $Computers) {
foreach ($Computer in $Computers) {
$MissingCount = 0
IF (!$Successful -NotLike "*$Computer*") {
Write-Host "$Computer`: Connecting"
If (Test-Connection -ComputerName $Computer -Count 1 -quiet) {
Write-Host "$Computer`: Connected"
[string]$Comparison = get-hotfix -ComputerName $Computer | Select -expand HotFixID
ForEach ($HotFix in $HotFixes) {
IF ($Comparison -NotLike "*$HotFix*") {
$Results += "$Computer,$HotFix"
$MissingCount++
}
}
Write-Host "$Computer`: $MissingCount Patches Needed"
$Successful += $Computer
$Successful = $Successful.GetEnumerator() | Sort-Object {"$_"}
} ELSE {
Write-Host "$Computer`: Unable to connect"
}
} ELSE {
Write-Host "$Computer already completed"
}
Write-Host "$Computer`: Complete"
Write-Host
}

}

$Results

最佳答案

如果要查找内容是否相等,则无论字符位置如何,都可以将字符串拆分为字符,对结果进行排序,然后使用Compare-Object cmdlet。没有结果意味着变量相等:

$v1 = $Var1.GetEnumerator() | Sort-Object {"$_"}
$v2 = $Var2.GetEnumerator() | Sort-Object {"$_"}
compare $v1 $v2

关于powershell - PowerShell比较两个字符串的内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13901542/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com