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
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
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 Get-Location deStackName del cmdlet. 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ámetroStackName del cmdlet set-Location decon un valor de $null o una cadena vacía ("").