Set-Location
將目前的工作位置設定為指定的位置。
Syntax
Set-Location
[[-Path] <String>]
[-PassThru]
[-UseTransaction]
[<CommonParameters>]
Set-Location
-LiteralPath <String>
[-PassThru]
[-UseTransaction]
[<CommonParameters>]
Set-Location
[-PassThru]
[-StackName <String>]
[-UseTransaction]
[<CommonParameters>]
Description
Cmdlet 會將 Set-Location
工作位置設定為指定的位置。 該位置可以是目錄、子目錄、登錄位置或任何提供者路徑。
您也可以使用 StackName 參數,將具名位置堆棧設為目前的位置堆疊。 如需位置堆疊的詳細資訊,請參閱附註。
範例
範例 1:設定目前的位置
PS C:\> Set-Location -Path "HKLM:"
PS HKLM:\>
此命令會將目前的位置設為 HKLM: 磁碟機的根目錄。
範例 2:設定目前的位置並顯示該位置
PS C:\> Set-Location -Path "Env:" -PassThru
Path
----
Env:\
PS Env:\>
此命令將目前的位置設為 Env: 磁碟機的根目錄。 它會使用 PassThru 參數指示PowerShell傳回代表Env: 位置的 PathInfo 物件。
範例 3:將位置設定為 C: 磁碟驅動器
PS C:\> Set-Location C:
此命令會在 FileSystem 提供者中設定目前的位置 C: 磁碟驅動器。
範例 4:將目前位置設定為具名堆疊
PS C:\> Set-Location -StackName "WSManPaths"
此命令將 WSManPaths 位置堆疊設為目前的位置堆疊。
除非命令中指定了不同的位置堆疊,否則 *-Location
Cmdlet 會使用目前的位置堆疊。 如需位置堆疊的相關資訊,請參閱附註。
參數
-LiteralPath
指定位置的路徑。 LiteralPath 參數的值會與類型完全相同使用。 沒有字元會被視為萬用字元。 如果路徑包含逸出字元,請將它括在單引號中。 單引號會指示PowerShell不要將任何字元解譯為逸出序列。
單引號告知 Windows PowerShell 不要將任何字元視為逸出序列。
Type: | String |
Aliases: | PSPath |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-PassThru
會傳回代表位置的 PathInfo 物件。 根據預設,此 Cmdlet 不會產生任何輸出。
Type: | SwitchParameter |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Path
指定新工作位置的路徑。 如果未提供路徑, Set-Location
則預設為目前使用者的主目錄。 使用通配符時,Cmdlet 會選擇符合通配符模式的第一個路徑。
Type: | String |
Position: | 0 |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | True |
-StackName
指定此 Cmdlet 建立目前位置堆疊的位置堆疊名稱。 請輸入位置堆疊名稱。 若要指出未命名的預設位置堆疊,請輸入 $null
或空字串 (“”) 。
除非您 *-Location
使用 StackName 參數來指定不同的堆疊,否則 Cmdlet 會在目前的堆疊上運作。
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-UseTransaction
將命令加入使用中交易。 只有交易為處理中狀態時,此參數才有效。 如需詳細資訊,請參閱 about_Transactions。
Type: | SwitchParameter |
Aliases: | usetx |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
輸入
您可以使用管線將包含路徑 (但不是常值路徑) 的字串傳送至此 Cmdlet。
輸出
None, System.Management.Automation.PathInfo, System.Management.Automation.PathInfoStack
除非您指定 PassThru 參數,否則此 Cmdlet 不會產生任何輸出。 搭配 Path 或 LiteralPath 使用 PassThru 會產生代表新位置的 PathInfo 物件。 搭配 StackName 使用 PassThru 會產生代表新堆棧內容的 PathInfoStack 物件。
備註
此
Set-Location
Cmdlet 的設計目的是要處理任何提供者所公開的數據。 若要列出工作階段中可用的提供者,請輸入Get-PSProvider
。 如需詳細資訊,請參閱 about_Providers。堆疊是一份後進先出的清單,其中只能存取最近新增的項目。 將項目新增到堆疊中時,順序與您使用它們的順序相同,然後抓取它們來使用時的順序則相反。 PowerShell 可讓您將提供者位置儲存在位置堆疊中。 PowerShell 會建立未命名的預設位置堆疊。 您可以建立多個具名位置堆疊。 如果您未指定堆疊名稱,PowerShell 會使用目前的位置堆疊。 根據預設,未命名的預設位置是目前的位置堆疊,但您可以使用
Set-Location
Cmdlet 來變更目前的位置堆疊。若要管理位置堆棧,請使用
*-Location
Cmdlet,如下所示:若要將位置新增至位置堆疊,請使用
Push-Location
Cmdlet。若要從位置堆疊取得位置,請使用
Pop-Location
Cmdlet。若要顯示目前位置堆疊中的位置,請使用 Cmdlet 的
Get-Location
Stack 參數。 若要在具名位置堆疊中顯示位置,請使用 的Get-Location
StackName 參數。若要建立新的位置堆疊,請使用 的
Push-Location
StackName 參數。 如果您指定不存在的堆疊,Push-Location
請建立堆疊。若要讓位置堆疊成為目前的位置堆疊,請使用 的
Set-Location
StackName 參數。未命名的預設位置堆疊只有在做為目前的位置堆疊時,才能供完整存取。 如果您將具名位置堆疊設為目前的位置堆疊,就無法再使用
Push-Location
或Pop-Location
Cmdlet 從預設堆疊新增或取得專案,或使用Get-Location
來顯示未命名堆疊中的位置。 若要讓未命名的堆疊成為目前的堆疊,請使用 的Set-Location
StackName 參數,其值為$null
或空字串 (“”“) 。