共用方式為


管理目前的位置

在 檔案總管 中瀏覽資料夾系統時,您通常會有特定的工作位置,也就是目前開啟的資料夾。 按兩下目前資料夾中的專案即可輕鬆操作。 對於命令行介面,例如Cmd.exe,當您位於與特定檔案相同的資料夾中時,您可以指定相對簡短的名稱來存取它,而不需要指定檔案的完整路徑。 目前目錄稱為工作目錄。

PowerShell 會使用名詞 位置 來參考工作目錄,並實作一系列 Cmdlet 來檢查及操作您的位置。

取得您目前的位置 (Get-Location)

若要判斷您目前目錄位置的路徑,請輸入 Get-Location 命令:

Get-Location
Path
----
C:\Documents and Settings\PowerUser

注意

Cmdlet Get-Location 類似於 BASH 殼層中的 pwd 命令。 Cmdlet Set-Location 類似於 Cmd.exe 中的 cd 命令。

設定您目前的位置 (Set-Location)

命令 Get-Location 會與 命令搭配 Set-Location 使用。 Set-Location命令可讓您指定目前的目錄位置。

Set-Location -Path C:\Windows

輸入命令之後,請注意,您不會收到任何關於命令效果的直接意見反應。 大部分執行動作的 PowerShell 命令會產生很少或沒有輸出,因為輸出不一定很有用。 若要確認輸入Set-Location命令時發生成功的目錄變更,請在輸入Set-Location命令時包含PassThru 參數:

Set-Location -Path C:\Windows -PassThru
Path
----
C:\WINDOWS

PassThru 參數可以搭配 PowerShell 中的許多 Set 命令使用,以針對沒有預設輸出的情況傳回結果的相關信息。

您可以使用與大部分 UNIX 和 Windows 命令殼層相同的方式,指定相對於您目前位置的路徑。 在相對路徑的標準表示法中,句號 (.) 代表您目前的資料夾,而雙倍句點 (..) 則代表您目前位置的父目錄。

例如,如果您位於 C:\Windows 資料夾中,句號 (.) 代表 C:\Windows ,而雙句點 (..) 代表 C:。 您可以輸入下列命令,從您目前的位置變更為磁碟驅動器的 C: 根目錄:

Set-Location -Path .. -PassThru
Path
----
C:\

相同的技術適用於不是檔案系統磁碟驅動器的 PowerShell 磁碟驅動器,例如 HKLM:。 您可以輸入下列命令,將位置設定為 HKLM\Software 登入中的機碼:

Set-Location -Path HKLM:\SOFTWARE -PassThru
Path
----
HKLM:\SOFTWARE

接著,您可以使用相對路徑,將目錄位置變更為父目錄:

Set-Location -Path .. -PassThru
Path
----
HKLM:\

您可以針對 (cd、 、 slchdir) 輸入Set-Location或使用任何內建 PowerShell 別名Set-Location。 例如:

cd -Path C:\Windows
chdir -Path .. -PassThru
sl -Path HKLM:\SOFTWARE -PassThru

儲存和召回最近的位置 (Push-Location 和 Pop-Location)

變更位置時,請務必追蹤您之前的位置,並能夠返回先前的位置。 Push-Location PowerShell 中的 Cmdlet 會建立已排序的目錄路徑歷程記錄(「堆棧」),而且您可以使用 Cmdlet 回溯目錄路徑Pop-Location的歷程記錄。

例如,PowerShell 通常會在使用者的主目錄中啟動。

Get-Location

Path
----
C:\Documents and Settings\PowerUser

注意

組在許多 程式設計設定中具有特殊意義,包括 .NET Framework。 就像實體項目堆疊一樣,您放入堆疊的最後一個專案是可以提取堆疊的第一個專案。 將專案新增至堆疊時,稱為「將專案推送」到堆棧。 將專案從堆疊上提取,這稱為「彈出」堆疊中的專案。

若要將目前的位置推送至堆疊,然後移至 [本機 設定] 資料夾,請輸入:

Push-Location -Path "Local Settings"

接著,您可以輸入下列命令,將本機 設定 位置推送至堆疊,並移至 Temp 資料夾:

Push-Location -Path Temp

您可以輸入 Get-Location 命令來確認您已變更目錄:

Get-Location
Path
----
C:\Documents and Settings\PowerUser\Local Settings\Temp

然後,您可以輸入 Pop-Location 命令並輸入 Get-Location 命令來確認變更,以跳回最近瀏覽的目錄:

Pop-Location
Get-Location
Path
----
C:\Documents and Settings\me\Local Settings

如同 Set-Location Cmdlet,當您輸入 Pop-Location Cmdlet 以顯示您輸入的目錄時,可以包含 PassThru 參數:

Pop-Location -PassThru
Path
----
C:\Documents and Settings\PowerUser

您也可以使用位置 Cmdlet 搭配網路路徑。 如果您有名為 FS01 的伺服器與名為 Public 的共用,您可以輸入 來變更位置

Set-Location \\FS01\Public

Push-Location \\FS01\Public

您可以使用 Push-LocationSet-Location 命令,將位置變更為任何可用的磁碟驅動器。 例如,如果您的本機 CD-ROM 磁碟驅動器具有包含資料 CD 的驅動器號 D,您可以輸入 Set-Location D: 命令,將位置變更為 CD 磁碟驅動器。

如果磁碟驅動器是空的,您會收到下列錯誤訊息:

Set-Location D:
Set-Location : Cannot find path 'D:\' because it does not exist.

當您使用命令行介面時,使用 檔案總管 檢查可用的實體磁碟驅動器並不方便。 此外,檔案總管 不會顯示所有 PowerShell 磁碟驅動器。 PowerShell 提供一組命令來操作 PowerShell 磁碟驅動器。