about_Locations
簡短描述
描述如何從PowerShell中的工作位置存取專案。
詳細描述
目前的工作位置是命令指向的預設位置。 換句話說,如果您未提供受命令影響之專案或位置的明確路徑,則這是 PowerShell 所使用的位置。
注意
PowerShell 支援每個進程的多個 Runspace。 每個 Runspace 都有自己的 目前目錄。 這與 PowerShell 程式的目前目錄不同: [System.Environment]::CurrentDirectory
。
例如,您可以將目前的工作位置設定為下列位置:
Set-Location C:\Program Files\Windows PowerShell
因此,除非明確提供其他路徑,否則會從這個位置處理所有命令。
即使磁碟驅動器不是目前磁碟驅動器,PowerShell 仍會維護每個磁碟驅動器的目前工作位置。 這可讓您只參考另一個位置的磁碟驅動器,以存取目前工作位置的專案。
例如,假設您目前的工作位置是 C:\Windows
。 現在,假設您使用下列命令將目前的工作位置變更為 HKLM:
磁碟驅動器:
Set-Location HKLM:
雖然您目前的位置現在是登錄磁碟驅動器,但您仍然可以使用C:
磁碟驅動器存取目錄中的專案C:\Windows
,如下列範例所示:
Get-ChildItem C:
PowerShell 請記住,您目前該磁碟驅動器的工作位置是 Windows 目錄,因此它會從該目錄擷取專案。 如果您執行下列命令,結果會相同:
Get-ChildItem C:\Windows
在 PowerShell 中 Get-Location
,您可以使用 命令來判斷目前的工作位置,而且您可以使用 Set-Location
命令來設定目前的工作位置。 例如,下列命令會將目前的工作位置設定為 Windows
磁碟驅動器的 C:
目錄:
Set-Location C:\Windows
設定目前的工作位置之後,您仍然可以在命令中包含磁碟驅動器名稱(後面接著冒號)來存取來自其他磁碟驅動器的專案,如下列範例所示:
Get-ChildItem HKLM:\software
範例命令會擷取登錄中Hive軟體容器 HKEY_LOCAL_MACHINE
中的項目清單。
PowerShell 也可讓您使用特殊字元來代表目前的工作位置和其父位置。 若要代表目前的工作位置,請使用單一期間。 若要代表目前工作位置的父代,請使用兩個期間。 例如,下列會 System
指定目前工作位置中的子目錄:
Get-ChildItem .\System
如果目前的工作位置是 C:\Windows
,此命令會傳回 中 C:\Windows\System
所有項目的清單。 不過,如果您使用兩個期間,則會使用目前工作目錄的父目錄,如下列範例所示:
Get-ChildItem ..\"Program Files"
在此情況下,PowerShell 會將這兩個期間視為 C: 磁碟驅動器,因此命令會擷取目錄中的所有專案 C:\Program Files
。
開頭為反斜杠的路徑 (\
) 會識別目前磁碟驅動器根目錄中的路徑。 例如,如果您的目前工作位置是 C:\Program Files\PowerShell
,則磁碟驅動器的根目錄為 C:\
。 因此,下列命令會列出目錄中的所有專案 C:\Windows
:
Get-ChildItem \Windows
如果您在提供容器或項目的名稱時,未指定開頭為磁碟驅動器名稱、反斜杠或句點 (\
.
) 的路徑,則容器或專案會假設位於目前的工作位置。 例如,如果您的目前工作位置是 C:\Windows
,下列命令會傳回目錄中的所有專案 C:\Windows\System
:
Get-ChildItem System
如果您指定檔名而非目錄名稱,PowerShell 會傳回該檔案的詳細數據(假設該檔案位於目前的工作位置)。