Leer en inglés

Compartir a través de


Push-Location

Agrega la ubicación actual a la parte superior de una pila de ubicaciones.

Sintaxis

PowerShell
Push-Location
    [[-Path] <String>]
    [-PassThru]
    [-StackName <String>]
    [<CommonParameters>]
PowerShell
Push-Location
    [-LiteralPath <String>]
    [-PassThru]
    [-StackName <String>]
    [<CommonParameters>]

Description

El cmdlet Push-Location agrega ("inserta") la ubicación actual en una pila de ubicaciones. Si especifica una ruta de acceso, Push-Location inserta la ubicación actual en una pila de ubicaciones y, a continuación, cambia la ubicación actual a la ubicación especificada por la ruta de acceso. Puede usar el cmdlet Pop-Location para obtener ubicaciones de la pila de ubicaciones.

De forma predeterminada, el cmdlet Push-Location inserta la ubicación actual en la pila de ubicaciones actual, pero puede usar el parámetro StackName para especificar una pila de ubicación alternativa. Si la pila no existe, Push-Location la crea.

Para obtener más información sobre las pilas de ubicación, vea Notas.

Ejemplos

Ejemplo 1

En este ejemplo se inserta la ubicación actual en la pila de ubicaciones predeterminada y, a continuación, se cambia la ubicación a C:\Windows.

PowerShell
PS C:\> Push-Location C:\Windows

Ejemplo 2

En este ejemplo se inserta la ubicación actual en la pila RegFunction y se cambia la ubicación actual a la ubicación HKLM:\Software\Policies.

PowerShell
PS C:\> Push-Location HKLM:\Software\Policies -StackName RegFunction

Puede usar los cmdlets location en cualquier unidad de PowerShell (PSDrive).

Ejemplo 3

Este comando inserta la ubicación actual en la pila predeterminada. No cambia la ubicación.

PowerShell
PS C:\> Push-Location

Ejemplo 4: Creación y uso de una pila con nombre

Estos comandos muestran cómo crear y usar una pila de ubicación con nombre.

PowerShell
PS C:\> Push-Location ~ -StackName Stack2
PS C:\Users\User01> Pop-Location -StackName Stack2
PS C:\>

El primer comando inserta la ubicación actual en una nueva pila denominada Stack2 y, a continuación, cambia la ubicación actual al directorio principal, representada en el comando por el símbolo de tilde (~), que cuando se usa en unidades del proveedor FileSystem es equivalente a $HOME.

Si Stack2 aún no existe en la sesión, Push-Location lo crea. El segundo comando usa el cmdlet Pop-Location para abrir la ubicación original (C:\) de la pila Stack2. Sin el parámetro StackName, Pop-Location mostraría la ubicación de la pila predeterminada sin nombre.

Para obtener más información sobre las pilas de ubicación, vea Notas.

Parámetros

-LiteralPath

Especifica la ruta de acceso a la nueva ubicación. A diferencia del parámetro Path, el valor del parámetro LiteralPath se usa exactamente como se escribe. No se interpreta ningún carácter como caracteres comodín. Si la ruta de acceso incluye caracteres de escape, escríbala entre comillas simples. Las comillas simples indican a PowerShell que no interprete ningún carácter como secuencias de escape.

Tipo:String
Alias:PSPath, LP
Posición:Named
Valor predeterminado:None
Requerido:False
Aceptar entrada de canalización:True
Aceptar caracteres comodín:False

-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:False
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

-Path

Cambia la ubicación a la ubicación especificada por esta ruta de acceso después de agregar (inserta) la ubicación actual en la parte superior de la pila. Escriba una ruta de acceso a cualquier ubicación cuyo proveedor admita este cmdlet. Se permiten caracteres comodín. El nombre del parámetro es opcional.

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

-StackName

Especifica la pila de ubicaciones a la que se agrega la ubicación actual. Escriba un nombre de pila de ubicación. Si la pila no existe, Push-Location la crea.

Sin este parámetro, Push-Location agrega la ubicación a 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.

Nota

Push-Location no puede agregar una ubicación a la pila predeterminada sin nombre a menos que sea la pila de ubicación actual.

Tipo:String
Posición:Named
Valor predeterminado:Default stack
Requerido:False
Aceptar entrada de canalización:True
Aceptar caracteres comodín:False

Entradas

String

Puede canalizar una cadena que contenga una ruta de acceso (pero no una ruta de acceso literal) 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

PowerShell incluye los siguientes alias para Push-Location:

  • Todas las plataformas:
    • pushd

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 ubicación 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 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 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 ("").

También puede hacer referencia a Push-Location por su alias integrado, pushd. Para obtener más información, vea about_Aliases.

El cmdlet Push-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.