我正在尝试创建一个简单的if
语句,并希望它忽略大小写。
这是我的伪代码:
if (Lowercase $xxx notequal lowercase "xxx")
{......}
我试过了:
if ( -lc $ConfigAppUsers -ne -lc "No" )
if ( lc $ConfigAppUsers -ne lc "No" )
if (( lc $ConfigAppUsers) -ne (lc "No") )
if ((-lc $ConfigAppUsers) -ne (-lc "No"))
我总是得到:
-lc : The term '-lc' is not recognized as the name of a cmdlet, function,
script file, or operable program. Check the spelling of the name, or if a
path was included, verify that the path is correct and try again.
At line:1 char:1
+ -lc "No"
+ ~~~
+ CategoryInfo : ObjectNotFound: (-lc:String) [], CommandNotFoundException
+ FullyQualifiedErrorId : CommandNotFoundException
我做错了什么?
答案 0 :(得分:4)
我不确定你为什么继续添加减号:
if ( lc $ConfigAppUsers ne "no" ) {
...
}
你可以说lc "No"
而不是"no"
,但是在字符串文字上调用lc
会很愚蠢。
您的其他问题似乎是您没有使用Perl。您获得的错误不是Perl错误消息。我认为这是Windows PowerShell错误。
答案 1 :(得分:3)
lc
是Perl函数,而不是PowerShell函数。在PowerShell中,您可以通过调用字符串对象的ToLower()
方法来小写字符串:
if ($ConfigAppUsers.ToLower() -ne 'no')
但是,PowerShell比较默认情况下不区分大小写,因此您实际上并不需要这样做。简单地比较字符串就足够了:
if ($ConfigAppUsers -ne 'No')