Compartir a través de


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.

PathInfo

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.