管理目前的位置
在 檔案總管 中瀏覽資料夾系統時,您通常會有特定的工作位置,也就是目前開啟的資料夾。 按兩下目前資料夾中的專案即可輕鬆操作。 對於命令行介面,例如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
、 、 sl
chdir
) 輸入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-Location
和 Set-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 磁碟驅動器。