Pop-Location
Cambia la ubicación actual a la ubicación que se ha insertado más recientemente en la pila.
Sintaxis
Pop-Location
[-PassThru]
[-StackName <String>]
[-UseTransaction]
[<CommonParameters>]
Description
El cmdlet Pop-Location
cambia la ubicación actual a la ubicación insertada más recientemente en la pila mediante el cmdlet Push-Location
. Puede abrir una ubicación desde la pila predeterminada o desde una pila que cree mediante un comando Push-Location
.
Ejemplos
Ejemplo 1: Cambiar a la ubicación más reciente
PS C:\> Pop-Location
Este comando cambia la ubicación a la ubicación agregada más recientemente a la pila actual.
Ejemplo 2: Cambiar a la ubicación más reciente en una pila con nombre
PS C:\> Pop-Location -StackName "Stack2"
Este comando cambia la ubicación a la ubicación agregada más recientemente a la pila de ubicaciones de Stack2.
Para obtener más información sobre las pilas de ubicación, vea Notas.
Ejemplo 3: Traslado entre ubicaciones para distintos proveedores
PS C:\> pushd HKLM:\Software\Microsoft\PowerShell
PS HKLM:\Software\Microsoft\PowerShell> pushd Cert:\LocalMachine\TrustedPublisher
PS cert:\LocalMachine\TrustedPublisher> popd
PS HKLM:\Software\Microsoft\PowerShell> popd
PS C:\>
Estos comandos usan los cmdlets Push-Location
y Pop-Location
para moverse entre ubicaciones compatibles con diferentes proveedores de PowerShell. Los comandos usan el alias de pushd
para Push-Location
y el alias de popd
para Pop-Location
.
El primer comando inserta la ubicación actual del sistema de archivos en la pila y se mueve a la unidad HKLM compatible con el proveedor del Registro de PowerShell.
El segundo comando inserta la ubicación del Registro en la pila y se mueve a una ubicación compatible con el proveedor de certificados de PowerShell.
Los dos últimos comandos muestran esas ubicaciones fuera de la pila. El primer comando popd
vuelve a la unidad del Registro y el segundo comando vuelve a la unidad del sistema de archivos.
Parámetros
-PassThru
Pasa un objeto que representa la ubicación a la canalización. De forma predeterminada, este cmdlet no genera ninguna salida.
Tipo: | SwitchParameter |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | False |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | False |
-StackName
Especifica la pila de ubicación desde la que se extrae la ubicación. Escriba un nombre de pila de ubicación.
Sin este parámetro, Pop-Location
extrae una ubicación de la pila de ubicaciones actual. De forma predeterminada, la pila de ubicación actual es la pila de ubicaciones predeterminada sin nombre que crea PowerShell. Para que una pila de ubicación sea la pila de ubicación actual, use el parámetro StackName del cmdlet Set-Location
. Para obtener más información sobre las pilas de ubicación, vea Notas.
Pop-Location
no puede extraer una ubicación de la pila predeterminada sin nombre a menos que sea la pila de ubicación 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, vea 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 pueden canalizar objetos a este cmdlet.
Salidas
None
De forma predeterminada, este cmdlet no devuelve ninguna salida.
Cuando se usa el parámetro PassThru, este cmdlet devuelve un objeto pathInfo que representa la ruta de acceso actual después de la operación del cmdlet.
Notas
Windows PowerShell incluye los siguientes alias para Pop-Location
:
popd
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.
Incluso si los cmdlets de ubicación establecieron el directorio actual de todo el proceso, no puede depender de él porque otro espacio de ejecución podría cambiarlo en cualquier momento. Debe usar los cmdlets de ubicación para realizar operaciones basadas en rutas de acceso mediante el directorio de trabajo actual específico del espacio de ejecución 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
Get-Location
.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 el cmdlet Get-Location
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 (""
).
Pop-Location
está diseñado para trabajar con los datos expuestos por cualquier proveedor. Para enumerar los proveedores disponibles en la sesión, escriba Get-PSProvider
. Para obtener más información, vea about_Providers.