共用方式為


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

輸入

String

您可以使用管線將包含路徑 (但不是常值路徑) 的字串傳送至此 Cmdlet。

輸出

None, System.Management.Automation.PathInfo, System.Management.Automation.PathInfoStack

除非您指定 PassThru 參數,否則此 Cmdlet 不會產生任何輸出。 搭配 PathLiteralPath 使用 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-LocationStack 參數。 若要在具名位置堆疊中顯示位置,請使用 的 Get-LocationStackName 參數。

    • 若要建立新的位置堆疊,請使用 的 Push-LocationStackName 參數。 如果您指定不存在的堆疊, Push-Location 請建立堆疊。

    • 若要讓位置堆疊成為目前的位置堆疊,請使用 的 Set-LocationStackName 參數。

      未命名的預設位置堆疊只有在做為目前的位置堆疊時,才能供完整存取。 如果您將具名位置堆疊設為目前的位置堆疊,就無法再使用 Push-LocationPop-Location Cmdlet 從預設堆疊新增或取得專案,或使用 Get-Location 來顯示未命名堆疊中的位置。 若要讓未命名的堆疊成為目前的堆疊,請使用 的 Set-LocationStackName 參數,其值為 $null 或空字串 (“”“) 。