约 1742 字

约 9 分钟

#PowerShell 的 Set-Location 命令

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

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

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

功能

将当前工作位置设置为指定位置,位置可以是目录、注册表项或其他提供程序路径。

类型

Cmdlet,属于 Microsoft.PowerShell.Management。

参数

  • [-Path] <String> - 新的工作位置;省略时回到当前用户的主目录;支持通配符
  • -LiteralPath <String> - 按字面值解释路径,不将任何字符视为通配符
  • -PassThru - 返回表示新位置的 PathInfo 对象;默认不产生输出
  • -StackName <String> - 将指定的位置堆栈设为当前堆栈;此操作不改变当前位置

#示例

切换到指定目录

> Set-Location -Path /usr/local/bin
  • -Path 可以省略,路径也可以使用相对路径。

返回上一个位置

> Set-Location -
  • 在最近访问过的位置之间前后切换,类似终端的 cd -。

回到主目录

> Set-Location
> Set-Location ~
  • 不指定路径时,Set-Location 会回到当前用户的主目录。

显示新位置

> Set-Location -Path /tmp -PassThru
Path
----
/tmp
  • -PassThru 返回 PathInfo 对象,默认情况下该命令没有输出。

切换位置堆栈

> Push-Location /var/log -StackName Logs
> Set-Location -StackName Logs
  • -StackName 只切换 *-Location 命令使用的当前堆栈,不会改变当前位置。

#推荐阅读

更新: 2026/11/2

作者: planc

创建: 2026/11/2