天天看點

Windows腳本初探之PowerShell變量和常量

變量

  在使用Windows PowerShell時,預設規則是:在使用某個變量之前,沒有必要提前聲明該變量,在需要使用變量儲存資料的時候再聲明就可以。

  變量名稱前面都必須包括一個$(美元符号),例如示例1:

1

<code>$cname</code><code>=</code><code>"loca lhost"</code>

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:

<code>Set-Variable</code><code>-nameintDriveType-value3-optionconstant</code>

本文轉自 bannerpei 51CTO部落格,原文連結:http://blog.51cto.com/281816327/1371488,如需轉載請自行聯系原作者