上一節主要介紹了Powershell中變量的定義和使用,以及在變量中包含特殊字符,或是變量在輸出時的一些技巧,詳細內容參考這裏。
shell
本節介紹Powershell中的內置變量,或是稱爲自動變量。ide
在Powershell命令行中,能夠輸入 Get-Variable 命令查看Powershell中的全部內置變量ui
PS C:\> Get-Variable Name Value ---- ----- $ cls ? True ^ cls _ args {} ConfirmPreference High ConsoleFileName DebugPreference SilentlyContinue ...
下面解釋Powershell中常用到的內置變量的意思。this
Powershell內置變量名稱 |
說明 |
---|---|
$$ | 當前會話中收到的最後一行中的最後一個令牌(你能夠理解爲最後一條執行命令) |
$? | 最後一個操做的執行狀態。這個操做能夠是Powershell命令,或是調用exe等的返回值,若是最後一個操做成功,則$?包含的值時True,不然包含的值是False。這個內置在判斷上一個操做是否成功執行時,很是有用。 |
$LastExitCode | 最後一個基於 Windows 的程序的退出代碼。注意區分該變量與$?的區別 |
$True | 包含True,能夠在命令或腳本中使用此內置變量來代替字符串"TRUE"。 |
$False | 包含False,能夠在命令或腳本中使用此內置變量來代替字符串"FALSE"。 |
$NULL | 包含NULL或空值。能夠在命令和腳本中使用此變量表示 NULL,而不是使用字符串"NULL"。若是該字符串轉換爲非空字符串或非零整數,則可將該字符串解釋爲TRUE。spa |
$_ | 包含管道對象中的當前對象,在對管道中的對象作篩選或是執行相應的操做命令時,該內置變量尤爲有用。如如下命令是篩選全部以 Get-Com 開頭的命令操作系統 Get-Command | Where-Object {$_.Name -like "Get-Com*"}命令行 |
$This | 在定義腳本屬性或腳本方法的腳本塊中,$This 變量引用要擴展的對象。這個和高級語言中的this同樣,表示的是當前要引用的對象。注意該內置變量與$_的不一樣。 |
$PID | 當前 Windows PowerShell 會話的進程的進程標識符 (PID),一個整數表示的數字。 |
$ShellID | 當前Shell的標示符,如Microsoft.PowerShell |
$PsUICulture | 操做系統中當前所用的用戶界面 (UI) 區域性的名稱(例如,若是是簡體中文,則該值是zh-CN)。UI 區域性肯定哪些文本字符串用於用戶界面元素(如菜單和消息)。這是系統的System.Globalization.CultureInfo.CurrentUICulture.Name 屬性的值 |
$PsCulture | 操做系統中當前所用的區域性的名稱(例如,若是是簡體中文,則該值是zh-CN)。區域性肯定數字、貨幣和日期等項的顯示格式。這是系統的 System.Globalization.CultureInfo.CurrentCulture.Name 屬性的值。 |
$PsHome | Windows PowerShell 的安裝目錄的完整路徑(一般爲 %windir%\System32\WindowsPowerShell\v1.0)。能夠在 Windows PowerShell 文件的路徑中使用此變量。對象 |
$Home | 用戶的主目錄的完整路徑,等效於 %homedrive%或%homepath% 環境變量 |
$Pwd | 當前目錄的完整路徑 |
$Host | 表示 Windows PowerShell 的當前主機應用程序(通俗點講就是表明當前主機)。能夠使用此變量在命令中表示當前主機,或者顯示或更改主機的屬性,如 $Host.version、$Host.CurrentCulture 或 $host.ui.rawui.setbackgroundcolor("Red")。 |
$Profile | 當前用戶和當前主機應用程序的 Windows PowerShell 配置文件的完整路徑。能夠在命令中使用此變量表示配置文件。 |
$PsVersionTable | 只讀哈希表,表示當前運行的Powershell版本的詳細信息,該表包含下列項。 CLRVersion: 公共語言運行時 (CLR) 的版本進程 BuildVersion: 當前版本的內部版本號 PSVersion: Windows PowerShell 版本號 WSManStackVersion: WS-Management 堆棧的版本號 PSCompatibleVersions: 與當前版本兼容的 Windows PowerShell 版本 SerializationVersion : 序列化方法的版本 PSRemotingProtocolVersion : Windows PowerShell 遠程管理協議的版本 |