当前位置:网站首页 > 更多 > 玩电脑 > 正文

[玩转系统] Push-Location (Microsoft.PowerShell.Management)

作者:精品下载站 日期:2024-12-14 02:11:36 浏览:14 分类:玩电脑

Push-Location (Microsoft.PowerShell.Management)


Push-Location

模块 :Microsoft.PowerShell.Management

将当前位置添加到位置堆栈的顶部。

句法

Push-Location
    [[-Path] <String>]
    [-PassThru]
    [-StackName <String>]
    [<CommonParameters>]
Push-Location
    [-LiteralPath <String>]
    [-PassThru]
    [-StackName <String>]
    [<CommonParameters>]

描述

Push-Location cmdlet 将当前位置添加(“推送”)到位置堆栈中。如果指定路径,Push-Location 会将当前位置推入位置堆栈,然后将当前位置更改为路径指定的位置。您可以使用 Pop-Location cmdlet 从位置堆栈中获取位置。

默认情况下,Push-Location cmdlet 将当前位置推送到当前位置堆栈,但您可以使用StackName 参数指定备用位置堆栈。如果堆栈不存在,Push-Location 将创建它。

有关位置堆栈的更多信息,请参阅注释。

示例

实施例1

此示例将当前位置推送到默认位置堆栈,然后将位置更改为 C:\Windows

PS C:\> Push-Location C:\Windows

实施例2

此示例将当前位置推送到 RegFunction 堆栈并将当前位置更改为 HKLM:\Software\Policies 位置。

PS C:\> Push-Location HKLM:\Software\Policies -StackName RegFunction

您可以在任何 PowerShell 驱动器 (PSDrive) 中使用位置 cmdlet。

实施例3

此命令将当前位置推入默认堆栈。它不会改变位置。

PS C:\> Push-Location

示例 4 - 创建和使用命名堆栈

这些命令展示了如何创建和使用命名位置堆栈。

PS C:\> Push-Location ~ -StackName Stack2
PS C:\Users\User01> Pop-Location -StackName Stack2
PS C:\>

第一个命令将当前位置推送到名为 Stack2 的新堆栈上,然后将当前位置更改为主目录,在命令中用波形符 (~) 表示,在文件系统上使用时提供者驱动器相当于$HOME

如果会话中尚不存在 Stack2,Push-Location 将创建它。第二个命令使用 Pop-Location cmdlet 从 Stack2 堆栈中弹出原始位置 (C:\)。如果没有 StackName 参数,Pop-Location 将从未命名的默认堆栈中弹出位置。

有关位置堆栈的更多信息,请参阅注释。

参数

-LiteralPath

指定新位置的路径。与 Path 参数不同,LiteralPath 参数的值完全按照键入的方式使用。没有字符被解释为通配符。如果路径包含转义字符,请将其用单引号引起来。单引号告诉 PowerShell 不要将任何字符解释为转义序列。

类型 :

String

别名:

PSPath, LP

位置:

命名

默认值:

None

必需的:

False

接受管道输入:

True

接受通配符:

False

-PassThru

将表示位置的对象传递给管道。默认情况下,此 cmdlet 不生成任何输出。

类型 :

SwitchParameter

位置:

命名

默认值:

False

必需的:

False

接受管道输入:

False

接受通配符:

False

-Path

将当前位置添加(推送)到堆栈顶部后,将您的位置更改为此路径指定的位置。输入其提供商支持此 cmdlet 的任何位置的路径。允许使用通配符。参数名称是可选的。

类型 :

String

位置:

1

默认值:

None

必需的:

False

接受管道输入:

True

接受通配符:

True

-StackName

指定当前位置添加到的位置堆栈。输入位置堆栈名称。如果堆栈不存在,Push-Location 将创建它。

如果没有此参数,Push-Location 会将位置添加到当前位置堆栈中。默认情况下,当前位置堆栈是 PowerShell 创建的未命名的默认位置堆栈。要使位置堆栈成为当前位置堆栈,请使用 Set-Location cmdlet 的 StackName 参数。有关位置堆栈的更多信息,请参阅注释。

笔记

Push-Location 无法将位置添加到未命名的默认堆栈,除非它是当前位置堆栈。

类型 :

String

位置:

命名

默认值:

默认堆栈

必需的:

False

接受管道输入:

True

接受通配符:

False

输入

字符串

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

输出

默认情况下,此 cmdlet 不返回任何输出。

路径信息

当您使用 PassThru 参数时,此 cmdlet 将返回一个 PathInfo 对象,该对象表示 cmdlet 操作后的当前路径。

笔记

PowerShell 包含以下 Push-Location 别名:

  • 所有平台:

      pushd

    PowerShell 支持每个进程多个运行空间。每个运行空间都有自己的当前目录。这与[System.Environment]::CurrentDirectory不同。当调用 .NET API 或运行本机应用程序而不提供显式目录路径时,此行为可能会出现问题。

    即使位置 cmdlet 确实设置了进程范围的当前目录,您也不能依赖它,因为另一个运行空间可能随时更改它。您应该使用位置 cmdlet 使用特定于当前运行空间的当前工作目录来执行基于路径的操作。

    堆栈是一个后进先出的列表,其中只能访问最近添加的项目。您可以按照使用顺序将项目添加到堆栈中,然后以相反的顺序检索它们以供使用。 PowerShell 允许您将提供商位置存储在位置堆栈中。

    PowerShell 创建一个未命名的默认位置堆栈,您可以创建多个命名位置堆栈。如果不指定堆栈名称,PowerShell 将使用当前位置堆栈。默认情况下,未命名的默认位置是当前位置堆栈,但您可以使用 Set-Location cmdlet 更改当前位置堆栈。

    要管理位置堆栈,请使用 PowerShell Location cmdlet,如下所示。

    • 要将位置添加到位置堆栈,请使用 Push-Location cmdlet。

    • 要从位置堆栈中获取位置,请使用 Pop-Location cmdlet。

    • 要显示当前位置堆栈中的位置,请使用 Get-Location cmdlet 的 Stack 参数。

    • 要显示命名位置堆栈中的位置,请使用 Get-Location cmdlet 的 StackName 参数。

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

    • 要将位置堆栈设为当前位置堆栈,请使用 Set-Location cmdlet 的 StackName 参数。

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

    您还可以通过其内置别名 pushd 来引用 Push-Location。有关更多信息,请参阅 about_Aliases。

    Push-Location cmdlet 旨在处理任何提供程序公开的数据。要列出会话中可用的提供程序,请输入 Get-PSProvider。有关详细信息,请参阅 about_Providers。

    您需要 登录账户 后才能发表评论

    取消回复欢迎 发表评论:

    关灯