PowerShell 保存和重新调用最近的位置(Push-Location 和 Pop-Location)
当更改位置时,它有助于跟踪你访问过的位置并使你能够返回到之前的位置。 Windows PowerShell 中的 Push-Location cmdlet 将创建一个你访问过的目录路径的有序历史记录(“堆栈”),你可以通过使用补充的 Pop-Location cmdlet 在目录路径历史记录上返回到之前位置。
例如,Windows PowerShell 通常在用户的主目录中启动。
PS> Get-Location
Path
----
C:\Documents and Settings\PowerUser
备注: 字词 stack 在许多编程设置(包括 .NET Framework)中具有特殊含义。 例如项的物理堆栈,你放置在堆栈上的最后一项是可以从堆栈中提取的第一个项。 将项添加到堆栈俗称为将项“推送”到堆栈上。 从堆栈中提取项俗称为将项从堆栈中“弹出”。
若要将当前位置推送到堆栈上,然后将其移动到“本地设置”文件夹,请键入:
Push-Location -Path "Local Settings"
然后,可以将“本地设置”位置推送到堆栈上,并将其移动到临时文件夹,方法是通过键入:
Push-Location -Path Temp
你可以验证是否通过输入 Get-Location 命令更改了目录:
PS> Get-Location
Path
----
C:\Documents and Settings\PowerUser\Local Settings\Temp
然后,你可以通过输入 Pop-Location 命令弹回到最近访问的目录中,并且通过输入 Get-Location 命令验证该更改:
PS> Pop-Location
PS> Get-Location
Path
----
C:\Documents and Settings\me\Local Settings
像 Set-Location cmdlet 一样,当你输入 Pop-Location cmdlet 来显示输入的目录时,你可以包含 -PassThru 参数:
PS> Pop-Location -PassThru
Path
----
C:\Documents and Settings\PowerUser
还可以将 Location cmdlet 与网络路径结合使用。 如果你有一个名为 FS01 并且共享名为 Public 的服务器,你可以通过键入以下内容更改你的位置:
Set-Location \FS01\Public
或者
Push-Location \FS01\Public
可以使用 Push-Location 和 Set-Location 命令将位置更改为任何可用的驱动器。 例如,如果你有驱动号为 D 且包含数据 CD 的本地 CD-ROM 驱动器,你可以通过输入 Set-Location D: 命令将该位置更改为 CD 驱动器。
如果驱动器是空的,你将获得以下错误消息:
PS> Set-Location D:
Set-Location : Cannot find path 'D:\' because it does not exist.
当你使用命令行接口时,使用文件资源管理器检查可用的物理驱动器会很不方便。 此外,文件资源管理器不会向你显示所有 Windows PowerShell 驱动器。 Windows PowerShell 提供一组命令,用于对 Windows PowerShell 驱动器进行操作,我们将在下一步讨论这些命令。