美文网首页
PowerShell语法(2)

PowerShell语法(2)

作者: Mexplochin | 来源:发表于2019-02-19 15:30 被阅读0次

条件判断

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

-eq,-ne可用于过滤数组,如下

Posh> 1,2,3,4,3,2,1 -ne 3
1
2
4
2
1
布尔运算符
  • -and :和
  • -or :或
  • -xor :异或
  • -not :求反
Where-Object条件过滤

Where-Object(别名?)用于对管道的条件过滤,如Get-Service | ? {$_.Name -like "B*"}

if语句

if(条件){...} else {...},如if($n -lt 0 ){"-1" } elseif($n -eq 0){"0"} else {"1"}

switch语句
switch($value)
{
    1 {"Beijing"}
    2 {"Shanghai"}
    3 {"Tianjin"}
    4 {"Chongqing"}
}
#------------------------------
$value=18
switch($value)
{
    {$_ -lt 10} {"小于10"}
    10  {"等于10"}
    {$_  -gt 10} {"大于10"}
    Default {"没有匹配条件"}
}
#------------------------------
$domain="www.mossfly.com"
switch($domain)
{
    "Www.moSSfly.com" {"Ok 1"}
    "www.MOSSFLY.com" {"Ok 2" }
    "WWW.mossfly.COM" {"Ok 3"}
}
#-case 大小写敏感
$domain="www.mossfly.com"
switch -case ($domain)
{
    "Www.moSSfly.com" {"Ok 1"}
    "www.MOSSFLY.com" {"Ok 2" }
    "www.mossfly.com" {"Ok 3"}
}
#-wildcard 使用通配符
$domain="www.mossfly.com"
switch -wildcard($domain)
{
    "*"     {"匹配'*'"}
    "*.com" {"匹配*.com" }
    "*.*.*" {"匹配*.*.*"}
}
#-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地址"}
}

循环

ForEach-Object

使用ForEach-Object,$_ 代表当前对象

Get-WmiObject Win32_Service | ForEach-Object {
    if ($_.ProcessId -gt 3000)
    { "{0}({1})" -f $_.DisplayName,$_.ProcessID}
}
ForEach
ForEach($file in dir c:\windows)
{
    if($file.Length -gt 1mb)
    {
        $File.Name
    }
}

函数

定义和删除函数
  • 定义函数 Function FuncName (args[]){code;}
  • 利用函数定制命令别名(参数内置) Function myPing { PING.EXE -n 1 $args }
  • 利用虚拟驱动删除函数 del Function:myPing
函数参数
  • 内置参数 $args数组
function sayHello
{
    if($args.Count -eq 0){
        "No argument!"
    }
    else{
        $args | foreach {"Hello,$($_)"}
    }
}
#--------------------------------------
function Add
{
    $sum=0
    $args | foreach {$sum=$sum+$_}
    $sum
}
  • 设置参数名称并定义默认值
function stringContact($str1="moss",$str2="fly")
{
    return $str1+$str2
}
函数返回值

Posh会将函数中所有的输出作为返回值,但是也可以通过return语句指定具体返回值,return 语句将指定的值返回的同时,会中断函数的执行,其后语句不再执行。

function test($num)
{
    1
    9
    return 10
    4
    6
}
#调用该函数会返回 1 9 10 

相关文章

  • PowerShell语法(2)

    条件判断 比较运算符 -eq :等于 -ne :不等于 -gt :大于 -ge :大于等于 -lt :小于 -le...

  • PowerShell语法(1)

    变量 定义与赋值 Posh 不需要显式声明变量类型,只须记住变量的前缀为$,单引号中的字符串不会识别和处理变量名,...

  • 1-25 习题25

    环境:windows10,powershell Py版本:3.6.5 问题描述: Python脚本语法错误之: I...

  • win10 cortana 搜索栏无法搜索本地应用修复

    1.打开cmd,输入start powershell 2.在powershell里面输入,Get-AppXPack...

  • 提取笔记本oem激活码

    1. win+R 2. 输入powershell ->回车 (只复制这个powershell) 3. 输入:(...

  • PowerShell常用语法

    输出 输出到文件 判断SVN进程是否在运行,如果在运行,杀死进程 判断文件或文件夹是否存在 删除文件 删除文件夹及内容

  • win10搜索本地应用失效的解决办法

    1、管理员身份cmd,然后输入start powershell 2、在powershell里执行如下命令,其实就是...

  • windows--powerShell

    1.打开powershell,命令行执行powershell 2.下载网络文件 在命令行窗口执行 $client ...

  • VS code里的Terminal执行不了Ng命令

    解决方法1.搜索powershell,右键以管理员身份运行(Windows PowerShell) 2.执行:se...

  • 1-8 习题8

    环境:windows7,powershell Py版本:3.7 问题描述: 直接按回车报语法错误 解决办法:在第一...

网友评论

      本文标题:PowerShell语法(2)

      本文链接:https://www.haomeiwen.com/subject/dvzxyqtx.html