且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

Windows脚本初探之PowerShell变量和常量

更新时间:2022-09-14 13:07:25

变量

  在使用Windows PowerShell时,默认规则是:在使用某个变量之前,没有必要提前声明该变量,在需要使用变量保存数据的时候再声明就可以。

  变量名称前面都必须包括一个$(美元符号),例如示例1:

1
$cname="loca lhost"


Windows PowerShell中有些特殊的变量,这些变量时自动创建的,每一个有特殊的含义,见下表:

名称 用途
$^ 包含外壳中上一行输入的第一个令牌;
$$ 包含外壳中上一行输入的最后一个令牌;
$_ 当前管道,可用于代码块、筛选器、where-object、foreach以及switch
$? 包含上一个语句运行的成功/失败状态;
$args 用于创建需要参数的函数;
$error 如果发生错误,error对象就会被保存在该变量中;
$executioncontext cmdlet可用的execution对象;
$foreach 代表用于foreach遍历的枚举器;
$home 用户的主目录,被设置为“%HOMEDRIVE%\%HOMEPATH%”
$input 将输入内容用管道传递给函数或者代码块;
$match 包括有-match运算符找到的内容组成的哈希表;
$myinvocation 有关当前执行的脚本或命令行的信息;
$pshome Windows Shell的安装目录;
$host 有关当前执行宿主的信息;
$false 布尔逻辑值false
$lastexitcode 上一个要运行的原生程序的退出代码;
$true 布尔逻辑值True
$null NULL对象;
$this 在type.psl xml文件或某些代码块实例中代表当前对象;
$ofs 转换数组为字符串的输出字段分隔符;
$shellid 外壳的标示符,此值可被外壳用于在启动时判断执行策略及配置文件;
$stacktrace 包含上一个错误的详细堆栈追踪信息;


常量

Windows PowerShell中的常量类似于变量,但是有两点区别:常量的值永远不会变化,无法被删除。常量可以使用Set-Variable cmdlet创建,指派-option参数即可创建常量。

注意:在脚本代码中,常量和变量一样需要将其放在美元符号后面,但是在创建常量的时候则不需要包含美元符号。


示例1:

1
Set-Variable-nameintDriveType-value3-optionconstant



本文转自 bannerpei 51CTO博客,原文链接:http://blog.51cto.com/281816327/1371488,如需转载请自行联系原作者