Get-Location

Obtiene información sobre la ubicación de trabajo actual o una pila de ubicaciones.

Syntax

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

Description

El Get-Location cmdlet obtiene un objeto que representa el directorio actual, al igual que el comando del directorio de trabajo de impresión (pwd).

Cuando se mueve entre unidades de PowerShell, PowerShell conserva la ubicación en cada unidad. Puede usar este cmdlet para buscar su ubicación en cada unidad.

Puede usar este cmdlet para obtener el directorio actual en tiempo de ejecución y usarlo en funciones y scripts, como en una función que muestre el directorio actual en el símbolo del sistema de PowerShell.

También puede usar este cmdlet para mostrar las ubicaciones en una pila de ubicaciones. Para obtener más información, vea las notas y las descripciones de los parámetros Stack y StackName .

Ejemplos

Ejemplo 1: Mostrar la ubicación actual de la unidad

Este comando muestra la ubicación en la unidad de PowerShell actual.

PS C:\Windows> Get-Location

Path
----
C:\Windows

Por ejemplo, si está en el Windows directorio de la C: unidad, muestra la ruta de acceso a ese directorio.

Ejemplo 2: Mostrar la ubicación actual para diferentes unidades

En este ejemplo se muestra el uso de Get-Location para mostrar la ubicación actual en diferentes unidades de PowerShell. Set-Location se usa para cambiar la ubicación a varias rutas de acceso diferentes en diferentes 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

Ejemplo 3: Obtener ubicaciones mediante pilas

En este ejemplo se muestra cómo usar los parámetros Stack y StackName de Get-Location para enumerar las ubicaciones de la pila de ubicaciones actual y las pilas de ubicación alternativas.

El Push-Location cmdlet se usa para cambiar en tres ubicaciones diferentes. La tercera inserción usa un nombre de pila diferente. El parámetro Stack de Get-Location muestra el contenido de la pila predeterminada. El parámetro StackName de Get-Location muestra el contenido de la pila denominada 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

Ejemplo 4: Personalización del símbolo del sistema de PowerShell

En este ejemplo se muestra cómo personalizar el símbolo del sistema de PowerShell.

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

La función que define el símbolo del sistema incluye un Get-Location comando, que se ejecuta cada vez que aparece el símbolo del sistema en la consola.

El formato del símbolo del sistema de PowerShell predeterminado se define mediante una función especial denominada prompt. Puede cambiar el símbolo del sistema en la consola mediante la creación de una nueva función denominada prompt.

Para ver la función del símbolo del sistema actual, escriba el siguiente comando: Get-Content Function:\prompt

Parámetros

-PSDrive

Obtiene la ubicación actual en la unidad de PowerShell especificada.

Por ejemplo, si está en la Cert: unidad, puede usar este parámetro para buscar la ubicación actual en la C: unidad.

Type:String[]
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-PSProvider

Obtiene la ubicación actual en la unidad compatible con el proveedor de PowerShell especificado. Si el proveedor especificado admite más de una unidad, este cmdlet devuelve la ubicación en la unidad a la que se accede más recientemente.

Por ejemplo, si está en la C: unidad, puede usar este parámetro para buscar la ubicación actual en las unidades del proveedor del Registro de PowerShell.

Type:String[]
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-Stack

Indica que este cmdlet muestra las ubicaciones agregadas a la pila de ubicaciones actual. Puede agregar ubicaciones a las pilas mediante el Push-Location cmdlet .

Para mostrar las ubicaciones en una pila de ubicaciones diferente, use el parámetro StackName . Para obtener información sobre las pilas de ubicación, vea las notas.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-StackName

Especifica, como matriz de cadenas, las pilas de ubicación con nombre. Especifique uno o más nombres de pila de ubicaciones.

Para mostrar las ubicaciones de la pila de ubicaciones actual, use el parámetro Stack . Para que una pila de ubicación sea la pila de ubicación actual, use el Set-Location cmdlet .

Este cmdlet no puede mostrar las ubicaciones de la pila predeterminada sin nombre a menos que sea la pila actual.

Type:String[]
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

Entradas

None

No se pueden canalizar objetos a este cmdlet.

Salidas

PathInfo

De forma predeterminada, este cmdlet devuelve un objeto PathInfo .

PathInfoStack

Cuando se usan los parámetros Stack o StackName , este cmdlet devuelve un objeto PathInfoStack .

Notas

PowerShell incluye los siguientes alias para Get-Location:

  • Todas las plataformas:

    • gl
    • pwd

PowerShell admite varios espacios de ejecución por proceso. Cada espacio de ejecución tiene su propio directorio actual. Esto no es lo mismo que [System.Environment]::CurrentDirectory. Este comportamiento puede ser un problema al llamar a las API de .NET o ejecutar aplicaciones nativas sin proporcionar rutas de acceso de directorio explícitas. El Get-Location cmdlet devuelve el directorio actual del espacio de ejecución de PowerShell actual.

Este cmdlet está diseñado para trabajar con los datos expuestos por cualquier proveedor. Para enumerar los proveedores de la sesión, escriba Get-PSProvider. Para obtener más información, consulte about_Providers.

Las formas en que interactúan los parámetros PSProvider, PSDrive, Stack y StackName dependen del proveedor. Algunas combinaciones producirán errores, como especificar una unidad y un proveedor que no expone esa unidad. Si no se especifica ningún parámetro, este cmdlet devuelve el objeto PathInfo para el proveedor que contiene la ubicación de trabajo actual.

Una pila es una lista en la que solo se puede acceder al elemento agregado más recientemente. Los elementos se agregan en el orden en que se utilizan y luego se recuperan para su uso en el orden inverso. PowerShell le permite almacenar ubicaciones de proveedor en pilas de ubicaciones. PowerShell crea una pila de ubicación predeterminada sin nombre y puede crear varias pilas de ubicación con nombre. Si no especifica un nombre de pila, PowerShell usa la pila de ubicación actual. De forma predeterminada, la ubicación predeterminada sin nombre es la pila de ubicaciones actual, pero puede usar el Set-Location cmdlet para cambiar la pila de ubicación actual.

Para administrar las pilas de ubicación, use los cmdlets de PowerShell *-Location , como se indica a continuación.

  • Para agregar una ubicación a una pila de ubicaciones, use el Push-Location cmdlet .

  • Para obtener una ubicación desde una pila de ubicaciones, use el Pop-Location cmdlet .

  • Para mostrar las ubicaciones en la pila de ubicaciones actual, use el parámetro Stack del Get-Location cmdlet . Para mostrar las ubicaciones en una pila de ubicaciones con nombre, use el parámetro StackName del Get-Location cmdlet .

  • Para crear una nueva pila de ubicación, use el parámetro StackName del Push-Location cmdlet . Si especifica una pila que no existe, Push-Location crea la pila.

  • Para que una pila de ubicación sea la pila de ubicaciones actual, use el parámetro StackName del Set-Location cmdlet .

La pila de ubicaciones predeterminada sin nombre sólo es accesible en su totalidad cuando es la pila de ubicaciones actual. Si crea una pila de ubicación con nombre en la pila de ubicaciones actual, ya no puede usar los Push-Location cmdlets o Pop-Location para agregar o obtener elementos de la pila predeterminada o usar este cmdlet para mostrar las ubicaciones en la pila sin nombre. Para que la pila sin nombre sea la pila actual, use el parámetro StackName del Set-Location cmdlet con un valor de $null o una cadena vacía ("").