首页 > 解决方案 > 如果条件让我发疯

问题描述

请我需要帮助...检查 IF 逻辑语句时,两个相同的字符串没有返回 $True。

这些图像完美地说明了我的挫败感。我从 GUI 开始,请不要残忍。

我尝试使用来自 textbox.text 变量的标签文本检查我想到的所有内容......

斑点:https ://imgur.com/5fcdabfb-b86e-436d-9c57-ed5f97c48229


        Write-Host "$Udrive\$($comboSamaccount.Text)"
        Write-Host "$Homedirectory"
        $Udriveinfo = "$Udrive\$($comboSamaccount.Text)"
        $labeUdriveINFO.Text = $Udriveinfo
        $labeUdriveINFO.Text -eq "$Homedirectory"
        if ("$Udrive\$($comboSamaccount.Text)" -eq "$Homedirectory")
        {
            $Ud = "The U drive is - OK"
        }
        else
        {
            $Ud = "The U drive must be changed to $Udrive\$($comboSamaccount.Text)"
        }
    }

提前致谢。

此致。

标签: powershelluser-interfacepowershell-studio

解决方案


为了解决此问题,我将执行以下操作:

$a = "$Udrive\$($comboSamaccount.Text)"
$b = "$Homedirectory"
for($i = 0; $i -lt $a.Length; $i++)
{
  if("$($a[$i])" -ne "$($b[$i])"){
    Write-Host 'Mismatch found' -ForegroundColor Red
    Write-Host ('[{4:D2}] {0}:{1:X} - {2}:{3:X}' -f $a[$i],(+$a[$i]),$b[$i],(+$b[$i]),$i)
  }
}

这将逐个遍历字符串中的字符并尝试找到不一样的字符


推荐阅读