如果你学过其他的高级语言一定对Switch不陌生,下面讲解一下基本语法。

例1:

 1 $n=Get-Random 5
2 $s='小明考试得分'
3 switch($n)
4 {
5 0 {$m=30}
6 1 {$m=50}
7 2 {$m=70}
8 3 {$m=90}
9 4 {$m=100}
10 5 {$m=120}
11 }
12 $s+$m

例2:

 1 $n=Get-Random 100
2 $s='小明考试得分'
3 switch($n)
4 {
5 {$_ -lt 60} {$m='不及格'}
6 {$_ -ge 60 -and $_ -lt 70} {$m='及格'}
7 {$_ -ge 70 -and $_ -lt 90} {$m='良'}
8 {$_ -ge 90 -and $_ -lt 120} {$m='优'}
9 {$_ -eq 120} {$m='满分'}
10 }
11 $s+$n+' 评级:'+$m

当然也可以配合使用正则表达式

1 $n=Get-Random 100
2 $s='小明考试得分'
3 switch ($n)
4 {
5 {$_ -match '[0-6][0-9]|^0$'} {$m='不及格'}
6 default{$m='及格'}
7 }
8 $s+$n+' 评级:'+$m

当然你觉得麻烦还可以开启正则表达式参数

1 $n=Get-Random 100
2 $s='小明考试得分'
3 switch -Regex($n)
4 {
5 '[0-6][0-9]|^0$' {$m='不及格'}
6 default{$m='及格'}
7 }
8 $s+$n+' 评级:'+$m

开启通配符模式

1 $s='www.baidu.com'
2 switch -Wildcard($s)
3 {
4 'www*' {'匹配'}
5 default{'不匹配'}
6 }

开启精确模式,当前模式下必须条件完美匹配,才能符合条件语句

1 $s='www.baidu.com'
2 switch -Exact($s)
3 {
4 'www' {'匹配'}
5 default{'不匹配'}
6 }

开启大小写敏感模式,当前模式下,区分大小写(默认是不区分大小写)

1 $s='A'
2 switch -CaseSensitive($s)
3 {
4 'a' {'匹配'}
5 default{'不匹配'}
6 }

也可以多个参数同时存在

1 $s='A'
2 switch -CaseSensitive -Exact($s)
3 {
4 'A' {'匹配'}
5 default{'不匹配'}
6 }

文件模式,当前模式下匹配对应行

1 1..30|Out-File 1.txt
2 $f='1.txt'
3 switch -Regex -File($f)
4 {
5 '5' {'匹配 '+$_}
6 default{'不匹配 '+$_}
7 }

和文件模式一样,支持循环结构的匹配

1 $n=1..99
2 switch ($n)
3 {
4 {$_ -match 5} {$_}
5 }

PowerShell 【Switch篇】的更多相关文章

  1. Powershell Switch 条件

    Powershell Switch 条件 6 21 1月, 2012  在 Powershell tagged Powershell教程/ 分支/ 字符串/ 数字/ 条件by Mooser Lee 本 ...

  2. PowerShell 教程

    随笔分类 - 教程 转载自:https://www.cnblogs.com/XiaoCY/category/1065141.html PowerShell 管道符之Where-Object的使用方法 ...

  3. Windows PowerShell 入門(5)-制御構文

    Windows PowerShellにおける制御構文について学びます.数ある制御構文の中でもSwitch文は.他の言語に比べ豊富な機能が用意されています. 対象読者 Windows PowerShel ...

  4. Linux系统管理员必备参考资料下载汇总

    Linux系统管理员必备: Linux系统管理工具包系列汇总 Linux系统管理员必看 VanDyke SecureCRT 6.1.3 附特别文件 鸟哥的Linux私房菜 基础学习篇 (第二版) 高清 ...

  5. TGL站长关于常见问题的回复

    问题地址: http://www.thegrouplet.com/thread-112923-1-1.html 问题: 网站配有太多的模板是否影响网站加载速度 月光答复: wp不需要删除其他的模板,不 ...

  6. Powershell渗透测试系列–进阶篇

    原文来自:https://bbs.ichunqiu.com/thread-41561-1-1.html i春秋作家:anyedt 0×00 引言 经过基础篇的学习我们已经对powershell有了一个 ...

  7. PowerShell中的一个switch的例子

    在这个例子中, 应该注意 Switch语句里对数字范围条件的使用 break的使用 字符串的拼接 数组的声明   ) foreach ($element in $array) { switch($el ...

  8. PowerShell攻防进阶篇:nishang工具用法详解

    PowerShell攻防进阶篇:nishang工具用法详解 导语:nishang,PowerShell下并肩Empire,Powersploit的神器. 开始之前,先放出个下载地址! 下载地址:htt ...

  9. PHP丨PHP基础知识之条件语SWITCH判断「理论篇」

    Switch在一些计算机语言中是保留字,其作用大多情况下是进行判断选择.以PHP来说,switch(开关语句)常和case break default一起使用 典型结构 switch($control ...

随机推荐

  1. Hadoop期末复习

    Hadoop期末复习 选择题 以下选项中,哪个程序负责HDFS数据存储. B A.NameNode B.DataNode C.Secondary NameNode D.ResourceManager ...

  2. Mybatis-plus报Invalid bound statement (not found)错误

    错误信息 org.springframework.security.authentication.InternalAuthenticationServiceException: Invalid bou ...

  3. WHUCTF PWN题目

    花了大概两天时间来做WHUCTF的题目,第一次排名这么靠前.首先感谢武汉大学举办这次萌新赛,也感谢fmyy的师傅的耐心指导,让我第一次做出堆的题目来. pwnpwnpwn 这是一道栈题目,32位程序, ...

  4. [ZJCTF 2019]EasyHeap | house of spirit 调试记录

    BUUCTF 上的题目,由于部分环境没有复现,解法是非期望的 house of spirit 第一次接触伪造堆的利用方式,exp 用的是 Pwnki 师傅的,本文为调试记录及心得体会. 逆向分析的过程 ...

  5. Sysenter/Kifastcallentry hook 检测与恢复

    关于Sysenter.Kifastcallentry.中断之类的内核入口hook技术早就烂大街了,可是对hook的检测与恢复代码却是寥寥无几,一切抛开代码将原理的行为都是耍流氓. 下面以Sysente ...

  6. 数组队列如何手撕?解密ArrayBlockingQueue的实现内幕!

    队列 聊起队列,你一定会联想到一个与队列相似的数据结构:栈. 为了更好的理解什么是队列,我们将它和栈来比较一下: 队列的特点是:先进先出,如下图,1先进,1就先出. 图1:队列的图解 栈的特点是:先进 ...

  7. CF1144A Diverse Strings 题解

    Content 我们定义一个字符串是合法的,当且仅当这个字符串是"连续排列"(按照字母表顺序排序).现在给出 \(n\) 个字符串 \(s_1,s_2,s_3,...,s_n\), ...

  8. maven 常用编译

    mvn -B clean package -Dspecific -DskipTests -P test

  9. libevent源码学习(5):TAILQ_QUEUE解析

    目录 前言 结点定义 链表初始化 链表查询及遍历 链表查询 链表遍历 插入结点 头插法 尾插法 前插法 后插法 删除结点 替换结点 总结 前言 在libevent中使用到了TAILQ数据结构,看了一下 ...

  10. 使用docker-compose一起安装kafka(zookeeper)

    要先安装docker-compose Linux安装docker-compose 参考:https://www.cnblogs.com/pxblog/p/15049362.html 创建docker- ...