Windows Powershell Switch 循环
Switch 本是多路分支的关键字,但是在Powershell中由于Switch支持集合,所以也可以使用它进行循环处理。下面举两个例子。
第一个将Foreach循环转换成Switch循环:
#使用Foreach循环
$nums=10..7
foreach($n in $nums)
{
"n=$n"
}
n=10
n=9
n=8
n=7
#使用Switch循环
$nums = 10..7
Switch ($nums)
{
Default { "n= $_" }
}
n= 10
n= 9
n= 8
n= 7
有时对集合的处理,在循环中还须条件判断,使用Switch循环可以一部到位,例如:
$nums = 10..7
Switch ($nums)
{
{($_ % 2) -eq 0} {"$_ 偶数"}
{($_ % 2) -ne 0} {"$_ 基数"}
}
10 偶数
9 基数
8 偶数
7 基数
PowerShell数组与switch语句,PowerShell中数组可以与switch语句结合,产生意想不到的效果。
PowerShell中数组可以与switch语句结合,产生意想不到的效果。
先看看例子:
$myArray = 1,5,4,2,3,5,2,5
Switch ( $myArray ) {
1 { 'one' }
2 { 'two' }
3 { 'three' }
4 { 'four' }
5 { 'five' }
}
数组中的所有元素都是在1,2,3,4,5这个范围的。通过一个switch语句,把每个数字做一个翻译。
在switch之后会自动输出,所以,最终的结果就成了:
one
five
four
two
three
five
two
five
这是一个很新奇的效果,先记录在这里,后面有需要再来深度挖掘它。
相关推荐
-
Windows Powershell For 循环
如果你知道循环的确切次数可以使用For循环,For循环属于计数型循环,一旦达到最大次数,循环就会自动终止.下面的例子通过循环求1-100的数列和. 复制代码 代码如下: $sum=0 for($i=1;$i -le 100;$i++) { $sum+=$i } $sum For循环是特殊类型的While循环 在For循环开始的圆括号中,由分号隔开的语句为循环的控制条件,分别为:初始化,循环执行满足的条件,增量. For循环的控制语句第一个和第三个可以为空: 复制代码 代码如下: $sum
-
Windows Powershell IF-ELSEIF-ELSE 语句
Where-Object 进行条件判断很方便,如果在判断后执行很多代码可以使用IF-ELSEIF-ELSE语句.语句模板: 复制代码 代码如下: If(条件满足){ 如果条件满足就执行代码 } Else { 如果条件不满足 } 条件判断必须放在圆括号中,执行的代码必须紧跟在后面的花括号中. 复制代码 代码如下: PS C:Powershell> $n=8 PS C:Powershell> if($n -gt 15) {"$n 大于 15 " } PS C:Powershe
-
Windows Powershell Switch 语句
下面的例子将If-ElseIF-Else转换成Switch语句 复制代码 代码如下: # 使用 IF-ElseIF-Else If( $value -eq 1 ) { "Beijing" } Elseif( $value -eq 2) { "Shanghai" } Elseif( $value -eq 3 ) { "Tianjin" } Else { "Chongqing" } # 使用 S
-
Windows Powershell ForEach-Object 循环
对管道对象逐个处理 如果使用Get-WmiObject 获取系统中的服务,为了排版可能会也会使用Format-Table对结果进行表格排版. 复制代码 代码如下: PS C:Powershell> Get-WmiObject Win32_Service | Format-Table status,DisplayName -AutoSize status DisplayName ------ ----------- OK Adobe Acrobat Update Service OK
-
Windows Powershell Foreach 循环
下面举两个例子: 复制代码 代码如下: $array=7..10 foreach ($n in $array) { $n*$n } #49 #64 #81 #100 foreach($file in dir c:\windows) { if($file.Length -gt 1mb) { $File.Name } } #explorer.exe #WindowsUpdate.log 这里只为了演示foreach,其实上面的第二个例子可以
-
Windows Powershell Do While 循环
继续与终止循环的条件 do-while()会先执行再去判断,能保证循环至少执行一次. 复制代码 代码如下: PS C:Powershell> do { $n=Read-Host } while( $n -ne 0) 10 100 99 2012 世界末日 为什么不退出 因为条件不满足 怎样才能满足 请输入一个0,试一试 0 PS C:Powershell> 单独使用While 复制代码 代码如下: $n=5 while($n -gt 0) { $n $n=$n-1 } 5 4
-
Windows Powershell Switch 循环
Switch 本是多路分支的关键字,但是在Powershell中由于Switch支持集合,所以也可以使用它进行循环处理.下面举两个例子. 第一个将Foreach循环转换成Switch循环: 复制代码 代码如下: #使用Foreach循环 $nums=10..7 foreach($n in $nums) { "n=$n" } n=10 n=9 n=8 n=7 #使用Switch循环 $nums = 10..7 Switch ($nums) { Default { "
-
Windows Powershell 自动化变量
Powershell 自动化变量 是那些一旦打开Powershell就会自动加载的变量. 这些变量一般存放的内容包括 用户信息:例如用户的根目录$home 配置信息:例如powershell控制台的大小,颜色,背景等. 运行时信息:例如一个函数由谁调用,一个脚本运行的目录等. PS> $HOME C:\Users\test PS> $currentProcessID=$pid PS> $currentProcessID 5356 PS> Get-Process -Id $pid H
-
Windows PowerShell是啥?看完本文你就懂它了
引子 一直很羡慕Linux的命令提示符(当然他们叫Shell).正则表达式,管道,各种神奇的命令,组合起来就能高效完成很多复杂的任务.效率实在是高.流了n年的哈喇子以后,终于有幸用上了Win7,邂逅了cmd的升级版:Windows PowerShell.从此暗爽无比,原来Windows下也有这样的利器呀~ 看看下面的Windows脚本,不到15行有效代码.在Win7下只要右击脚本文件,选择Run with PowerShell,就会自动找到最占内存的10个进程,然后将它们占用的内存画成一个三维饼
-
Windows Powershell 介绍和安装
Powershell 是运行在windows机器上实现系统和应用程序管理自动化的命令行脚本环境.你可以把它看成是命令行提示符cmd.exe的扩充,不对,应当是颠覆. powershell需要.NET环境的支持,同时支持.NET对象.微软之所以将Powershell 定位为Power,并不是夸大其词,因为它完全支持对象.其可读性,易用性,可以位居当前所有shell之首. 当前powershell有四版本,分别为1.0,2.0,3.0 ,4.0 如果您的系统是window7或者Windows Ser
-
Windows Powershell Where-Object 条件过滤
过滤管道结果 使用Get-Process返回所有的当前进程 ,但是你可能并不对所有的进程感兴趣,然后通过每个Process对象的属性进行过滤.首先得知道每个对象支持那些属性. 复制代码 代码如下: PS C:Powershell> Get-Process | select -First 1 | fl * __NounName : Process Name : AcroRd32 Handles
-
Windows Powershell使用管道
管道并不是什么新事物,以前的Cmd控制台也有重定向的命令,例如Dir | More可以将结果分屏显示. 传统的Cmd管道是基于文本的,但是Powershell是基于对象. PS> ls | Sort-Object -Descending Name | Select-Object Name,Length,LastWriteTime | ConvertTo-Html | Out-File ls.html PS> Get-Content .ls.html Name Length LastWriteT
随机推荐
- MongoDB下根据数组大小进行查询的方法
- 一个简陋的java图书管理系统
- c#唯一值渲染实例代码
- ThinkPHP模版中导入CSS和JS文件的方法
- C#使用foreach语句遍历堆栈(Stack)的方法
- Vue之Watcher源码解析(2)
- Linux上安装Mysql及简单的使用详解
- JS表单验证方法实例小结【电话、身份证号、Email、中文、特殊字符、身份证号等】
- $.ajax传JSON数据到后台出现报错问题解决
- jquery实现的用户注册表单提示操作效果代码分享
- 爆炸式的JS圆形浮动菜单特效代码
- c# 服务器上传木马监控代码(包含可疑文件)
- C# SendMail发送邮件功能实现
- Android应用程序签名步骤及相关知识介绍
- 硬盘文件搜索代码(ASP类)
- Android 根据EditText搜索框ListView动态显示数据
- Android中Glide获取图片Path、Bitmap用法详解
- Android编程设计模式之观察者模式实例详解
- 在python中画正态分布图像的实例
- Python3之不使用第三方变量,实现交换两个变量的值