变量

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

  变量名称前面都必须包括一个$(美元符号),例如示例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:

Set-Variable-nameintDriveType-value3-optionconstant