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

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

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

Get-Location (Microsoft.PowerShell.Management)


Get-Location

模块 :Microsoft.PowerShell.Management

获取有关当前工作位置或位置堆栈的信息。

句法

Get-Location
   [-PSProvider <String[]>]
   [-PSDrive <String[]>]
   [<CommonParameters>]
Get-Location
   [-Stack]
   [-StackName <String[]>]
   [<CommonParameters>]

描述

Get-Location cmdlet 获取一个表示当前目录的对象,与打印工作目录 (pwd) 命令非常相似。

当您在 PowerShell 驱动器之间移动时,PowerShell 会保留您在每个驱动器中的位置。您可以使用此 cmdlet 查找您在每个驱动器中的位置。

您可以使用此 cmdlet 在运行时获取当前目录并在函数和脚本中使用它,例如在 PowerShell 提示符中显示当前目录的函数中。

您还可以使用此 cmdlet 显示位置堆栈中的位置。有关详细信息,请参阅注释以及 StackStackName 参数的说明。

示例

示例 1:显示您当前的驱动器位置

此命令显示您在当前 PowerShell 驱动器中的位置。

PS C:\Windows> Get-Location

Path
----
C:\Windows

例如,如果您位于 C: 驱动器的 Windows 目录中,它将显示该目录的路径。

示例 2:显示不同驱动器的当前位置

此示例演示如何使用 Get-Location 显示不同 PowerShell 驱动器中的当前位置。 Set-Location 用于将位置更改为不同 PSDrive 上的多个不同路径。

PS C:\> Set-Location C:\Windows
PS C:\Windows> Set-Location HKLM:\Software\Microsoft
PS HKLM:\Software\Microsoft> Set-Location "HKCU:\Control Panel\Input Method"
PS HKCU:\Control Panel\Input Method> Get-Location -PSDrive C

Path
----
C:\Windows

PS HKCU:\Control Panel\Input Method> Get-Location -PSDrive HKLM

Path
----
HKLM:\Software\Microsoft

PS HKCU:\Control Panel\Input Method> Set-Location C:
PS C:\Windows> Get-Location -PSProvider Registry

Path
----
HKCU:\Control Panel\Input Method

示例 3:使用堆栈获取位置

此示例演示如何使用 Get-LocationStackStackName 参数列出当前位置堆栈和备用位置堆栈中的位置。

Push-Location cmdlet 用于更改为三个不同的位置。第三次推送使用不同的堆栈名称。 Get-LocationStack 参数显示默认堆栈的内容。 Get-LocationStackName 参数显示名为 Stack2 的堆栈的内容。

PS C:\> Push-Location C:\Windows
PS C:\Windows>Push-Location System32
PS C:\Windows\System32>Push-Location WindowsPowerShell -StackName Stack2
C:\Windows\System32\WindowsPowerShell>Get-Location -Stack

Path
----
C:\Windows
C:\

C:\Windows\System32\WindowsPowerShell>Get-Location -StackName Stack2

Path
----
C:\Windows\System32

示例 4:自定义 PowerShell 提示符

此示例演示如何自定义 PowerShell 提示符。

PS C:\>
function prompt { 'PowerShell: ' + (Get-Location) + '> '}
PowerShell: C:\>

定义提示的函数包括一个 Get-Location 命令,每当控制台中出现提示时就会运行该命令。

默认 PowerShell 提示符的格式由名为 prompt 的特殊函数定义。您可以通过创建名为 prompt 的新函数来更改控制台中的提示。

要查看当前的提示函数,请键入以下命令:Get-Content Function:\prompt

参数

-PSDrive

获取指定 PowerShell 驱动器中的当前位置。

例如,如果您位于 Cert: 驱动器中,则可以使用此参数查找您在 C: 驱动器中的当前位置。

类型 :

String[]

位置:

命名

默认值:

None

必需的:

False

接受管道输入:

True

接受通配符:

False

-PSProvider

获取指定 PowerShell 提供程序支持的驱动器中的当前位置。如果指定的提供程序支持多个驱动器,则此 cmdlet 返回最近访问的驱动器上的位置。

例如,如果您位于 C: 驱动器中,则可以使用此参数查找您在 PowerShell Registry 提供程序的驱动器中的当前位置。

类型 :

String[]

位置:

命名

默认值:

None

必需的:

False

接受管道输入:

True

接受通配符:

False

-Stack

指示此 cmdlet 显示添加到当前位置堆栈的位置。您可以使用 Push-Location cmdlet 将位置添加到堆栈中。

要显示不同位置堆栈中的位置,请使用 StackName 参数。有关位置堆栈的信息,请参阅注释。

类型 :

SwitchParameter

位置:

命名

默认值:

None

必需的:

False

接受管道输入:

False

接受通配符:

False

-StackName

以字符串数组形式指定指定位置堆栈。输入一个或多个位置堆栈名称。

要显示当前位置堆栈中的位置,请使用 Stack 参数。要将位置堆栈设为当前位置堆栈,请使用 Set-Location cmdlet。

此 cmdlet 无法显示未命名默认堆栈中的位置,除非它是当前堆栈。

类型 :

String[]

位置:

命名

默认值:

None

必需的:

False

接受管道输入:

True

接受通配符:

False

输入

您无法通过管道将对象传递到此 cmdlet。

输出

路径信息

默认情况下,此 cmdlet 返回一个 PathInfo 对象。

PathInfoStack

当您使用 StackStackName 参数时,此 cmdlet 将返回 PathInfoStack 对象。

笔记

PowerShell 包含以下 Get-Location 别名:

  • 所有平台:

      gl
    pwd

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

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

    PSProviderPSDriveStackStackName 参数交互的方式取决于提供程序。某些组合会导致错误,例如指定驱动器和不公开该驱动器的提供程序。如果未指定参数,此 cmdlet 将返回包含当前工作位置的提供程序的 PathInfo 对象。

    堆栈是一个后进先出的列表,其中只能访问最近添加的项目。您可以按照使用顺序将项目添加到堆栈中,然后以相反的顺序检索它们以供使用。 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 从默认堆栈添加或获取项目,或者使用此 cmdlet 显示未命名堆栈中的位置。要使未命名堆栈成为当前堆栈,请使用 Set-Location cmdlet 的 StackName 参数,并将其值设置为 $null 或空字符串(“”)。

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

    取消回复欢迎 发表评论:

    关灯