gpt4 book ai didi

powershell - -ne在Powershell中不起作用

转载 作者:行者123 更新时间:2023-12-02 23:28:24 25 4
gpt4 key购买 nike

我不确定是否缺少某些内容或忽略了某些内容,但是下面的脚本应该比较两个字符串,看看它们是否相等。

if ($Previous_WAN_IP -ne $Current_WAN_IP) {

if ($Previous_WAN_IP -eq "") {write-host "External IP Script is Ready";Exit}
if ((@([Byte[]][char[]]$Current_WAN_IP -eq 46).Count)-ne 3) {write-host "No Valid IP Address Retrieved";Exit}

Write-Host "IP Address Has Changed, Sending e-mail"
$MessageBody = "External IP Address Has Changed"
.\Scripts\SecureEmailScript.ps1
}

我在包含 -ne的if语句上设置了一个断点。被比较的两个值都是相同的,并且类型为 System.String。问题是,即使值相等,它仍然会输入if语句。如果我使值不相等,则结果相同。任何帮助,将不胜感激。先感谢您。

最佳答案

您可以避免尾随(或前导)空格,尤其是在使用.Trim()字符串方法进行字符串比较时。在您的特定情况下:

if ($Previous_WAN_IP.Trim() -ne $Current_WAN_IP.Trim()){

只要确保在代码中的某个地方执行Trim(),如果可能的话,它就不会重复执行,以最大程度地减少对运行时间的影响。

关于powershell - -ne在Powershell中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26363846/

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