gpt4 book ai didi

powershell - Powershell在尝试使用-和If语句时给出错误

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

我收到错误消息:

You must provide a value expression on the right-hand side of the '-and' operator.
At C:\shippinginterface\test.ps1:28 char:39
+ if (($TicketNumber.length -gt 0) -and <<<< IsNumeric($TicketNumber) -and IsNotVoid($DateOut))
+ CategoryInfo : ParserError: (:) [], ParseException
+ FullyQualifiedErrorId : ExpectedValueExpression

运行此测试脚本时。
function IsNumeric($value) {
return ($($value.Trim()) -match "^[-]?[0-9.]+$")
}

function IsNotVoid($value) {
$VoidPattern = [regex]"(?i)void"
return !$VoidPattern.Match($value).Success
}

############################
# START TEST
############################

$TicketNumber = "12345"
$DateOut = "3/14/2013"

## Verify there is a numeric ticket number, and row is not void for any reason
if (($TicketNumber.length -gt 0) -and IsNumeric($TicketNumber) -and IsNotVoid($DateOut))
{
write-host $intRow " " $TicketNumber
}

为什么不喜欢我对 -and的使用?如果删除string.length的第一个评估,该语句将按预期工作。

最佳答案

我无法确切地说出为什么它不喜欢您的语法,但这可以工作:

if (($TicketNumber.length -gt 0) -and (IsNumeric $TicketNumber) -and (IsNotVoid $DateOut))

这迫使PowerShell在括号之间使用表达式的输出。

我还修复了函数调用。 PowerShell语法指出,调用函数时不带括号,并用空格分隔参数。

关于powershell - Powershell在尝试使用-和If语句时给出错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15688779/

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