Get-Location
Obtiene información sobre la ubicación de trabajo actual o una pila de ubicaciones.
Sintaxis
Get-Location
[-PSProvider <String[]>]
[-PSDrive <String[]>]
[<CommonParameters>]
Get-Location
[-Stack]
[-StackName <String[]>]
[<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 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, consulte las notas y las descripciones de los parámetros de
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 directorio Windows
de la unidad C:
, 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 de Stack y StackName de Get-Location
para enumerar las ubicaciones de la pila de ubicaciones actual y las pilas de ubicaciones alternativas.
El cmdlet Push-Location
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
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 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 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 unidad de Cert:
, 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
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 unidad de
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 agregadas a la pila de ubicaciones actual. Puede agregar ubicaciones a las pilas mediante el cmdlet Push-Location
.
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 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 cmdlet Set-Location
.
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 |
Entradas
None
No se pueden canalizar objetos a este cmdlet.
Salidas
De forma predeterminada, este cmdlet devuelve un objeto pathInfo .
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 cmdlet Get-Location
devuelve el directorio actual del espacio de ejecución actual de PowerShell.
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, vea 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. 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 cmdlet Set-Location
para cambiar la pila de ubicación actual.
Para administrar las pilas de ubicación, use los cmdlets de *-Location
de PowerShell, 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 en la pila de ubicaciones actual, use el parámetro stack de
del cmdlet . Para mostrar las ubicaciones en una pila de ubicaciones con nombre, use el parámetro StackName del cmdlet Get-Location
.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 ubicación 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 los cmdlets Push-Location
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 cmdlet Set-Location
con un valor de $null
o una cadena vacía (""
).