当前位置: 首页 > news >正文

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

转载于:https://www.cnblogs.com/yajing-zh/p/4717850.html

相关文章:

  • JSON
  • 【数据结构】非循环队列
  • 【JavaScript】encodeURI() 函数
  • 【JavaScript】 encodeURI() 函数
  • 关系型数据库跟费关系型数据库区别
  • 使用json往返传输数据 post方法
  • ubuntu下没有中文输入法的解决办法!
  • 【jQuery 遍历】 - map() 方法
  • HTML中的Meta http-equiv属性详解(转)
  • 【jQuery 】参考手册 - 遍历
  • 在构造方法中存在异常的惯用处理法
  • 在Ajax中使用XML通信
  • 平衡二叉树旋转
  • 用XPath和XSLT来更好的处理XML
  • sublime text3主题透明
  • [译]CSS 居中(Center)方法大合集
  • “寒冬”下的金三银四跳槽季来了,帮你客观分析一下局面
  • 「面试题」如何实现一个圣杯布局?
  • 【Under-the-hood-ReactJS-Part0】React源码解读
  • 【跃迁之路】【735天】程序员高效学习方法论探索系列(实验阶段492-2019.2.25)...
  • HTML-表单
  • JavaScript设计模式系列一:工厂模式
  • JavaScript设计模式与开发实践系列之策略模式
  • Laravel核心解读--Facades
  • Magento 1.x 中文订单打印乱码
  • markdown编辑器简评
  • NLPIR语义挖掘平台推动行业大数据应用服务
  • React系列之 Redux 架构模式
  • Shadow DOM 内部构造及如何构建独立组件
  • storm drpc实例
  • vuex 笔记整理
  • 案例分享〡三拾众筹持续交付开发流程支撑创新业务
  • 汉诺塔算法
  • 基于axios的vue插件,让http请求更简单
  • 理清楚Vue的结构
  • 入门级的git使用指北
  • 入手阿里云新服务器的部署NODE
  • 双管齐下,VMware的容器新战略
  • 追踪解析 FutureTask 源码
  • ​中南建设2022年半年报“韧”字当头,经营性现金流持续为正​
  • $NOIp2018$劝退记
  • (1)SpringCloud 整合Python
  • (17)Hive ——MR任务的map与reduce个数由什么决定?
  • (LeetCode C++)盛最多水的容器
  • (三)c52学习之旅-点亮LED灯
  • (转载)虚幻引擎3--【UnrealScript教程】章节一:20.location和rotation
  • *Algs4-1.5.25随机网格的倍率测试-(未读懂题)
  • .h头文件 .lib动态链接库文件 .dll 动态链接库
  • .NET Entity FrameWork 总结 ,在项目中用处个人感觉不大。适合初级用用,不涉及到与数据库通信。
  • .Net Redis的秒杀Dome和异步执行
  • .net6使用Sejil可视化日志
  • .Net调用Java编写的WebServices返回值为Null的解决方法(SoapUI工具测试有返回值)
  • .net利用SQLBulkCopy进行数据库之间的大批量数据传递
  • /bin、/sbin、/usr/bin、/usr/sbin
  • [1159]adb判断手机屏幕状态并点亮屏幕