手记

powershell快速入门

powershell入门

开发工具

  • Visual Studio
    • 用于创建项目,断点调试
    • 安装PowerShell Tool拓展
    • 视图=> 其他窗口=>PowerShell Command Exploer,搜索各种命令,方便查看说明,一键复制。方便强大到没朋友
  • Visual Studio Code

直接运行ps1脚本

  • 有关说明
  • 使用“以管理员身份运行”选项启动 Windows PowerShell,输入一下命令修改策略
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned
  • RemoteSigned这个策略表示允许执行本地的脚本,和网络上下载的带签名脚本

变量声明

  • $符号开头,可选的类型名约束,比如[String] $str = "hello world",或者$str = "hello world"
  • 可理解为弱类型,可以再次赋值其它类型数据,比如上面的$str = 1,2,3,4,再次赋值一个数组
  • 当以[String]强类型声明时,将获得提示,写起来感觉跟写C#一样

数组、集合

声明、初始化

$arr = @()

转换

  • 很多时候ps操作返回的都是数组,并且没有提供ToList的功能
  • 转换方法如下
[Collections.Generic.List[string]] $list = $arr
  • ps里面的泛型写法跟C#的区别就是<>换成[]

添加元素

  • 数组添加元素实际上是重新拷贝到新的数组,使用加号相加重新拼接
$arr = @(1,2,3) + @(4,5,6)

查找元素

$arr = @("asd", "fgh")
$arr -contains "fgh" # True,返回布尔值
$arr -like "*g*" # fgh,返回元素

调用 .net framework

  • ps调用.net framework,主要知道如何表达类名以及调用方法

类名表达

  • 中括号括起来,命名空间+类名
[System.IO.Path]::Combine($p1, $p2)

调用

  • ::两个冒号代表调用,如上面例子,调用Path类的静态方法,类的初始化方法如下
$class = [ClassName]::new()
  • 调用实例方法一样,通过.点访问
$class.Method1()

变量作用域

  • 方法体内有效,无论是在循环体内还是外,所以如果循环体内声明使用,请每次初始化
1人推荐
随时随地看视频
慕课网APP