Powershell条件判断

# Powershell 条件操作符


# Powershell 中的比较运算符
# -eq :等于
# -ne :不等于
# -gt :大于
# -ge :大于等于
# -lt :小于
# -le :小于等于
# -contains :包含
# -notcontains :不包含


# 进行比较
# 可以将比较表达式直接输入进Powershell控制台,然后回车,会自动比较并把比较结果返回。

#(3,4,5) -contains 2

#求反
# 求反运算符为-not 但是像高级语言一样
# $a = 2 -eq 3
# $a
# -not $a


# 布尔运算
# 
# -and :和
# -or :或
# -xor :异或
# -not :逆

# 1,2,3,4,3,2,1 -ne 3
# 1,9,4,5 -contains 9
# 1,9,4,5 -contains 10

#Powershell Where-Object 条件过滤 


# 过滤管道结果
# Get-Process | select -First 1 | fl *

# 根据进程名过滤所有记事本进程。
# Get-Process | Where-Object {$_.Name -eq "notepad"}

#根据进程名过滤所有IE进程。
# Get-Process | Where-Object {$_.Name -eq "iexplore"}

#根据company过滤所有产品发布者以”Microsoft”打头的进程:
# Get-Process | Where-Object {$_.company -like '*Microsoft*' } | select Name,Description,Company

#使用别名  ?
# Get-Service | ? {$_.Name -like "B*"}

#Powershell IF-ELSEIF-ELSE 条件
# If(条件满足){
# 如果条件满足就执行代码
# }
# Else
# {
# 如果条件不满足
# }
#if($n -lt 0 ){"-1" } elseif($n -eq 0){"0"} else {"1"}

# Powershell Switch 条件

# 使用 Switch
# switch($value)
# {
#     1 {"Beijing"}
#     2 {"Shanghai"}
#     3 {"Tianjin"}
#     4 {"Chongqing"}
# }

# 测试取值范围

# $value=18
# 
# switch($value)
# {
#     {$_ -gt 10} {"大于10";break}
#     10 {"等于10";break}
#     {$_ -lt 10} {"小于10";break}
#      Default {"没有匹配条件";break}
# }

#比较字符串
# eq比较大小写不敏感,所以才有下面的例子:
# 
# $domain="www.mossfly.com"
# switch($domain)
# {
#     "Www.moSSfly.com" {"Ok 1"}
#     "www.MOSSFLY.com" {"Ok 2" }
#     "WWW.mossfly.COM" {"Ok 3"}
# }

# Switch有一个-case 选项,一旦指定了这个选项,比较运算符就会从-eq 切换到 -ceq,即大小写敏感比较字符串
# $domain="www.mossfly.com"
# #大小写敏感
# switch -case ($domain)
# {
#     "Www.moSSfly.com" {"Ok 1"}
#     "www.MOSSFLY.com" {"Ok 2" }
#     "www.mossfly.com" {"Ok 3"}
# }


# 使用通配符
# 字符串非常特殊,可是使用通配符,但是在Switch语句后要指定 -wildcard 选项
$domain="www.mossfly.com"
#使用通配符
# switch -wildcard($domain)
# {
#     "*"     {"匹配'*'"}
#     "*.com" {"匹配*.com" }
#     "*.*.*" {"匹配*.*.*"}
# }
# 

# 通配符功能更强大是正则表达式,当然需要给Switch关键字指定选项-regex
# $mail="www@mossfly.com"
#使用通配符
# switch -regex ($mail)
# {
#     "^www"     {"www打头"}
#     "com$"     {"com结尾" }
#     "d{1,3}.d{1,3}.d{1,3}.d{1,3}" {"IP地址"}
# }


# 同时处理多个值
# Switch支持对集合所有元素进行匹配,下面的例子使用Powershell Switch语句演示打印水仙花数# 

# $value=100..999
# switch($value)
# {
# {[Math]::Pow($_%10,3)+[Math]::Pow( [Math]::Truncate($_%100/10) ,3)+[Math]::Pow( [Math]::Truncate($_/100) , 3) -eq $_} {$_}
# }
 

 

  • 3
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值