Compartir a través de


Get-Location

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

Sintaxis

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

Description

El cmdlet Get-Location 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 Windows PowerShell, Windows 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 Windows PowerShell.

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

Ejemplos

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

PS C:\> Get-Location
Path
----
C:\WINDOWS

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

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

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

The first command uses the **Set-Location** cmdlet to set the current location to the Windows subdirectory of the C: drive.
PS C:\> Set-Location C:\Windows

The second command uses the **Set-Location** cmdlet to change the location to the HKLM:\Software\Microsoft registry key. When you change to a location in the HKLM: drive, Windows PowerShell retains your location in the C: drive.
PS C:\>
PS C:\WINDOWS> Set-Location HKLM:\Software\Microsoft
PS HKLM:\Software\Microsoft>

The third command uses the **Set-Location** cmdlet to change the location to the HKCU:\Control Panel\Input Method registry key.
PS C:\>
PS HKLM:\Software\Microsoft> Set-Location "HKCU:\Control Panel\Input Method"
PS HKCU:\Control Panel\Input Method>

The fourth command uses the **Get-Location** cmdlet to find the current location on the C: drive. It uses the *PSDrive* parameter to specify the drive.
PS C:\>
PS HKCU:\Control Panel\Input Method> Get-Location -PSDrive C



Path
----
C:\WINDOWS

The fifth command uses the **Set-Location** cmdlet to return to the C: drive. Even though the command does not specify a subdirectory, Windows PowerShell returns you to the saved location.
PS C:\>
PS HKCU:\Control Panel\Input Method> Set-Location C:
PS C:\WINDOWS>

The sixth command uses the **Get-Location** cmdlet to find the current location in the drives supported by the Windows PowerShell registry provider. **Get-Location** returns the location of the most recently accessed registry drive, HKCU.
PS C:\>
PS C:\WINDOWS> Get-Location -PSProvider registry




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

To see the current location in the HKLM: drive, you need to use the *PSDrive* parameter to specify the drive. The seventh command does just this:
PS C:\>
PS C:\WINDOWS> Get-Location -PSDrive HKLM



Path
----
HKLM:\Software\Microsoft

En este ejemplo se muestra el uso de get-location para mostrar la ubicación actual en diferentes unidades de Windows PowerShell.

Ejemplo 3: Enumerar las ubicaciones de la pila de ubicaciones actual y las pilas de ubicaciones alternativas

The first command sets the current location to the Windows directory on the C: drive.
PS C:\> Set-Location C:\Windows

The second command uses the **Push-Location** cmdlet to push the current location (C:\Windows) onto the current location stack and change to the System32 subdirectory. Because no stack is specified, the current location is pushed onto the current location stack. By default, the current location stack is the unnamed default location stack.
C:\WINDOWS> Push-Location System32

The third command uses the *StackName* parameter of the **Push-Location** cmdlet to push the current location (C:\Windows\System32) onto the Stack2 stack and to change the current location to the WindowsPowerShell subirectory. If the Stack2 stack does not exist, **Push-Location** creates it.
C:\Windows\System32> Push-Location WindowsPowerShell -StackName Stack2

The fourth command uses the *Stack* parameter of the **Get-Location** cmdlet to get the locations in the current location stack. By default, the current stack is the unnamed default location stack.
C:\WINDOWS\system32\WindowsPowerShell> Get-Location -Stack
Path
----
C:\WINDOWS

The fifth command uses the *StackName* parameter of the **Get-Location** cmdlet to get the locations in the Stack2 stack.
PS C:\>
C:\WINDOWS\system32\WindowsPowerShell>get-location -stackname Stack2



Path
----
C:\WINDOWS\system32

Este comando muestra cómo usar el stack de y los parámetros de StackName de Get-Location para enumerar las ubicaciones de la pila de ubicaciones actual y las pilas de ubicaciones alternativas. Para obtener más información sobre las pilas de ubicación, vea notas.

Ejemplo 4: Personalizar el símbolo del sistema de Windows PowerShell

PS C:\>
function prompt { 'PowerShell: ' + (get-location) + '> '}
PowerShell: C:\WINDOWS>

En este ejemplo se muestra cómo personalizar el símbolo del sistema de Windows PowerShell. La función que define el símbolo del sistema incluye un comando Get-Location, que se ejecuta cada vez que aparece el símbolo del sistema en la consola.

El formato del símbolo del sistema predeterminado de Windows PowerShell 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

El comando comienza con la palabra clave function seguida del nombre de la función, prompt. El cuerpo de la función aparece entre llaves ( {} ).

Este comando define un nuevo símbolo del sistema que comienza con la cadena PowerShell: . Para anexar la ubicación actual, usa un comando Get-Location, que se ejecuta cuando se llama a la función prompt. El símbolo del sistema finaliza con la cadena "> ".

Parámetros

-PSDrive

Especifica la ubicación actual en la unidad de Windows PowerShell especificada que este cmdlet obtiene en la operación.

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

Tipo:String[]
Posición:Named
Valor predeterminado:None
Requerido:False
Aceptar entrada de canalización:True
Aceptar caracteres comodín:False

-PSProvider

Especifica la ubicación actual en la unidad compatible con el proveedor de Windows PowerShell que este cmdlet obtiene en la operación.

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 unidad C: , puede usar este parámetro para buscar la ubicación actual en las unidades del proveedor windows PowerShellRegistry.

Tipo:String[]
Posición:Named
Valor predeterminado:None
Requerido:False
Aceptar entrada de canalización:True
Aceptar caracteres comodín:False

-Stack

Indica que este cmdlet muestra las ubicaciones de la pila de ubicaciones actual.

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.

Tipo:SwitchParameter
Posición:Named
Valor predeterminado:None
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

-StackName

Especifica, como matriz de cadenas, las pilas de ubicación con nombre. Escriba uno o varios nombres de pila de ubicación.

Para mostrar las ubicaciones en 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 parámetro Set-Location. Para obtener información sobre las pilas de ubicación, vea las notas.

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

Tipo:String[]
Posición:Named
Valor predeterminado:None
Requerido:False
Aceptar entrada de canalización:True
Aceptar caracteres comodín:False

-UseTransaction

Incluye el comando en la transacción activa. Este parámetro solo es válido cuando una transacción está en curso. Para obtener más información, consulte about_Transactions.

Tipo:SwitchParameter
Alias:usetx
Posición:Named
Valor predeterminado:False
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

Entradas

None

No se puede canalizar la entrada a este cmdlet.

Salidas

System.Management.Automation.PathInfo or System.Management.Automation.PathInfoStack

Si usa los parámetros Stack o StackName, este cmdlet devuelve un objeto StackInfo. De lo contrario, devuelve un objeto PathInfo.

Notas

  • 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 el PSProvider, PSDrive, Stacky parámetros stackName interactúan depende del proveedor. Algunas combinaciones producirán errores, como especificar una unidad y un proveedor que no exponga esa unidad. Si no se especifica ningún parámetro, este cmdlet devuelve el pathInfo objeto 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. Agregue elementos a una pila en el orden en que los use y, a continuación, los recupere para usarlos en el orden inverso. Windows PowerShell le permite almacenar ubicaciones de proveedor en pilas de ubicaciones. Windows 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, Windows 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 cmdlet Set-Location para cambiar la pila de ubicaciones actual.

    Para administrar las pilas de ubicación, use los cmdlets de Windows PowerShellLocation, como se indica a continuación.

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

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

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

    • Para crear una nueva pila de ubicaciones, use el parámetro StackName del cmdlet Push-Location. 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 cmdlet set-Location .

    La pila de ubicación predeterminada sin nombre solo es totalmente accesible cuando es la pila de ubicación actual. Si crea una pila de ubicación con nombre en la pila de ubicaciones actual, ya no puede usar el de Push-Location ni Pop-Location agregar o obtener elementos de la pila predeterminada o usar este comando de 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 cmdlet set-Location de con un valor de $null o una cadena vacía ("").