Set-Location

将当前工作位置设置为指定位置。

语法

Path (默认值)

Set-Location
    [[-Path] <String>]
    [-PassThru]
    [-UseTransaction]
    [<CommonParameters>]

LiteralPath

Set-Location
    -LiteralPath <String>
    [-PassThru]
    [-UseTransaction]
    [<CommonParameters>]

Stack

Set-Location
    [-PassThru]
    [-StackName <String>]
    [-UseTransaction]
    [<CommonParameters>]

说明

Set-Location cmdlet 将工作位置设置为指定位置。 该位置可以是目录、子目录、注册表位置或任何提供程序路径。

还可以使用 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 不要将任何字符解释为转义序列。

参数属性

类型:String
默认值:None
支持通配符:False
不显示:False
别名:PSPath

参数集

LiteralPath
Position:Named
必需:True
来自管道的值:False
来自管道的值(按属性名称):True
来自剩余参数的值:False

-PassThru

返回一个 PathInfo 对象,该对象代表位置。 默认情况下,此 cmdlet 不生成任何输出。

参数属性

类型:SwitchParameter
默认值:False
支持通配符:False
不显示:False

参数集

(All)
Position:Named
必需:False
来自管道的值:False
来自管道的值(按属性名称):False
来自剩余参数的值:False

-Path

指定新工作位置的路径。 如果未提供路径,Set-Location 默认为当前用户的主目录。 使用通配符时,cmdlet 选择与通配符模式匹配的第一个路径。

参数属性

类型:String
默认值:None
支持通配符:True
不显示:False

参数集

Path
Position:0
必需:False
来自管道的值:True
来自管道的值(按属性名称):True
来自剩余参数的值:False

-StackName

指定此 cmdlet 生成当前位置堆栈的位置堆栈名称。 输入位置堆栈名称。 若要指示未命名的默认位置堆栈,请键入 $null 或空字符串(“)。

除非使用 *-Location 参数来指定其他堆栈,否则 cmdlet 在当前堆栈上执行操作。

参数属性

类型:String
默认值:None
支持通配符:False
不显示:False

参数集

Stack
Position:Named
必需:False
来自管道的值:False
来自管道的值(按属性名称):True
来自剩余参数的值:False

-UseTransaction

在活动事务中包含该命令。 此参数仅在事务正在进行时有效。 有关详细信息,请参阅about_Transactions。

参数属性

类型:SwitchParameter
默认值:False
支持通配符:False
不显示:False
别名:usetx

参数集

(All)
Position:Named
必需:False
来自管道的值:False
来自管道的值(按属性名称):False
来自剩余参数的值:False

CommonParameters

此 cmdlet 支持通用参数:-Debug、-ErrorAction、-ErrorVariable、-InformationAction、-InformationVariable、-OutBuffer、-OutVariable、-PipelineVariable、-ProgressAction、-Verbose、-WarningAction 和 -WarningVariable。 有关详细信息,请参阅 about_CommonParameters

输入

String

可以通过管道将包含路径(但不是文本路径)的字符串传递给此 cmdlet。

输出

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

除非指定 PassThru 参数,否则此 cmdlet 不会生成任何输出。 将 PassThruPathLiteralPath 配合使用将生成表示新位置的 PathInfo 对象。 将 PassThruStackName 配合使用将生成表示新堆栈上下文的 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 参数。 若要在命名位置堆栈中显示位置,请使用 Get-Location 参数。

    • 若要创建新的位置堆栈,请使用 Push-Location 参数。 如果指定不存在的堆栈,Push-Location 创建堆栈。

    • 若要使位置堆栈成为当前位置堆栈,请使用 Set-Location 参数。

      仅当默认位置堆栈是当前位置堆栈时,才完全可访问未命名的默认位置堆栈。 如果将命名位置堆栈设为当前位置堆栈,则不能再使用 Push-LocationPop-Location cmdlet 添加或获取默认堆栈中的项,或者使用 Get-Location 在未命名的堆栈中显示位置。 若要使未命名的堆栈成为当前堆栈,请使用 Set-Location 参数,其值为 $null 或空字符串(“)。