zoukankan      html  css  js  c++  java
  • PowerShell学习记录

    一、简介——连接

    Powershell 是运行在windows机器上实现系统和应用程序管理自动化的命令行脚本环境。你可以把它看成是命令行提示符cmd.exe的扩充,不对,应当是颠覆。 powershell需要.NET环境的支持,同时支持.NET对象。微软之所以将Powershell 定位为Power,并不是夸大其词,因为它完全支持对象。其可读性,易用性,可以位居当前所有shell之首。 当前powershell有四版本,分别为1.0,2.0,3.0 ,4.0

    • 如果您的系统是window7或者Windows Server 2008,那么PowerShell 2.0已经内置了,可以升级为3.0,4.0。
    • 如果您的系统是Windows 8 或者Windows server 2012,那么PowerShell 3.0已经内置了,可以升级为4.0。
    • 如果您的系统为Windows 8.1或者Windows server 2012 R2,那默认已经是4.0了。

    二、打开PowerShell

    我的电脑是win10系统,在win图标右键->选择Windows PowerShell,即可打开。

    三、PowerShell脚本及编辑工具

    PowerShell脚本命令可直接在窗口输入

    eg.
        Write-Host "Hello Word!"

    对于PowerShell的编辑工具,可直接双击使用记事本编辑,但是对于新手可使用VSCode进行开发。

         下载链接

    下载好后可在扩展中搜索powershell,安装第一个扩展就可以显示powershell智能提示了。

    四、如何运行制作好的PowerShell脚本

    1、如果脚本路径中包含空格,需要使用& "脚本路径"来执行,eg.  & "C:P A T H\script.ps1"

    2、使用cd命令切换到脚本所在目录,再使用执行  ./脚本名.ps1

    2、若文件路径不包含空格,可直接输入文件路径执行,eg.  C:/path/test.ps1

    五、简单语法介绍

     大致知识点介绍,详细介绍可在下边的教程网址学习。

     罗列一些常用命令知识点,定义变量、管道、条件判断、循环、函数

    1、定义变量

    定义变量:$info = "你好"

    输出变量:$info

    2、管道

    在Shell中一个重要的基本概念就是管道(pipeline),即在一组命令中,输出的命令结果成为下一个命令的输入参数。管道的概念与真实生活中的生产线比较相似:在不同的生产环节进行连续的再加工。

    “Get-ChildItem”意思是获取当前路径的所有项目,“|Sort-Object -Descending Name”意思是查看上一步结果,按照Name进行倒叙排列。

    常用的管道命令

    Compare-Object: 比较两组对象。
    ConvertTo-Html: 将 Microsoft .NET Framework 对象转换为可在 Web 浏览器中显示的 HTML。
    Export-Clixml: 创建对象的基于 XML 的表示形式并将其存储在文件中。
    Export-Csv: 将 Microsoft .NET Framework 对象转换为一系列以逗号分隔的、长度可变的 (CSV) 字符串,并将这些字符串保存到
    一个 CSV 文件中。
    ForEach-Object: 针对每一组输入对象执行操作。
    Format-List: 将输出的格式设置为属性列表,其中每个属性均各占一行显示。
    Format-Table: 将输出的格式设置为表。
    Format-Wide: 将对象的格式设置为只能显示每个对象的一个属性的宽表。
    Get-Unique: 从排序列表返回唯一项目。
    Group-Object: 指定的属性包含相同值的组对象。
    Import-Clixml: 导入 CLIXML 文件,并在 Windows PowerShell 中创建相应的对象。
    Measure-Object: 计算对象的数字属性以及字符串对象(如文本文件)中的字符数、单词数和行数。
    more: 对结果分屏显示。
    Out-File: 将输出发送到文件。
    Out-Null: 删除输出,不将其发送到控制台。
    Out-Printer: 将输出发送到打印机。
    Out-String: 将对象作为一列字符串发送到主机。
    Select-Object: 选择一个对象或一组对象的指定属性。它还可以从对象的数组中选择唯一对象,也可以从对象数组的开头或末尾选
    择指定个数的对象。
    Sort-Object: 按属性值对象进行排序。
    Tee-Object: 将命令输出保存在文件或变量中,并将其显示在控制台中。
    Where-Object: 创建控制哪些对象沿着命令管道传递的筛选器。

    3、条件判断

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

    布尔运算

    -and :和
    -or :或
    -xor :异或
    -not :逆

    求反

    求反运算符为-not 

    条件判断语法

    Where-Object

    IF-ElseIf-Else

    Switch

    4、循环

    ForEach-Object

    Foreach

    Do While

    For

    Switch

    5、函数

    函数定义很简单

    Function FuncName (args[])
    {
          code;
    }
    eg.
    Function test($name,$age)
    {
        if($name -ne $null -and $age -ne $null){
            Write-Host "输入的name参数为:$name";
            Write-Host "输入的age参数为:$age";
        }elseif($name -ne $null){
            Write-Host "输入的name参数为:$name";
        }elseif($age -ne $null){
            Write-Host "输入的age参数为:$age";
        }else{
            Write-Host "未传入参数";
        }
    }
    # 调用test函数并传入参数
    test -age "23" -name "张三"

    六、脚本教程

    目前我是在以下两个网站学习的,主要是简单语法学习。

    PowerShell中文博客  https://www.pstips.net/

    微软官方的PowerShell文档  网址

  • 相关阅读:
    jwt
    mybatis的回顾
    swagger
    MySQl总结
    Java异常
    常用Dos命令
    C++初级项目——机房预约系统
    C++中将数字型字符串转变为int类型的方法
    C++中int *a; int &a; int & *a; int * &a
    #define_CRT_SECURE_NO_WARNINGS的用法
  • 原文地址:https://www.cnblogs.com/GoCircle/p/11190293.html
Copyright © 2011-2022 走看看