PowerShell-第3章 变量与对象

3.1 在变量中存储信息

  

  假如说变量存储了大量数据,且不用了,可以赋值为$null,则可以释放变量占用的内存空间。

3.2 访问环境变量

  获得所有环境变量

    Get-ChildItem env:

    

  获得某一环境变量

    $env:variableName

    或Get-ChildItem env:variableName

    或Get-ChildItem Environment::variableName

    

3.3 控制访问和变量的范围与其他项

  在指定的范围内创建变量,在变量的名称前面提供SCOPE关键字

    $SCOPE: varible=value

  访问指定范围内的变量,在变量的前面提供范围

    $SCOPE:varible

  为了创建变量,在脚本退出后仍然有效,在变量前提供GLOBAL关键字

    $GLOBAL:varible=value

  为了从一个函数内修改脚本块的变量范围,在变量前提供SCRIPT关键字

    $SCRIPT:varible=value

  当代码进入到一个嵌套的提示、脚本、函数或脚本块的时候,PowerShell创建一个新的范围,这个范围变成本地的范围,

  从而新旧范围被称为子范围和父范围,子范围可以访问父范围内的所有变量,但是子范围内对那些变量的修改不会影响到父范围内的变量版本。

  Global: 全局范围,在此范围内的变量对其他范围是可见的

  Script: 代表当前脚本范围,此范围内的变量对于其他脚本内的范围都是可见的

  Local: 当前范围

  特定范围内定义函数

    function $GLOBAL:MyFunction{...}

    GLOBAL:MyFunction args

3.4 使用.net对象

  调用一个类的静态的方法

    [className]::MethodName(parameter list)

  调用对象的一个方法

    $objectReference.MethodName(parameter list)

  访问类的静态的属性

    [className]::PropertyName

  访问对象的属性

    $objectReference.PropertyName

 3.7 快速输入较长的类名

  为了减少输入静态方法的名称,可以把类名保存到一个变量中

    $math=[System.Math]

    $math::Min(1,10)

    $math::Max(1,10)

  为了减少在同一命名空间的对象名的输入,可以使用-f操作符

    $namespace="System.Collection.{0}"

    $arrayList=New-Object ($namespace -f "ArrayList")

    $queue=New-Object ($namespace -f "Queue")

3.9 了解类型和对象

  获得保存到变量$object中的一个对象的实例成员,先把$Object变量用管道输出到Get-Member cmdlet,如下

    $object | Get-Member

    Get-Member -InputObject $object

   获得保存到变量$object中的一个对象的静态成员

    $object | Get-Member -Static

    Get-Member -Static -InputObject $object

   获得保存到变量$object一个对象的指定类型的成员,需要把成员的类型传递给-MemberType参数

    $object | Get-Member -MemberType memberType

    Get-Member -MemberType memberType -InputObject $object

posted @ 2015-08-14 14:56  lucky_zhang  阅读(918)  评论(0编辑  收藏  举报