Push-Location

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

Syntax

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

Description

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

De forma predeterminada, el Push-Location cmdlet 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.

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 HKLM:\Software\Policies ubicación.

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.

PS C:\> Push-Location

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

Estos comandos muestran cómo crear y utilizar una pila de ubicaciones con nombre.

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 de 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 Pop-Location cmdlet para abrir la ubicación original (C:\) de la pila stack2. Sin el parámetro StackName , Pop-Location se abrirá 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. Ninguno de los caracteres se interpreta como caracteres comodín. Si la ruta de acceso contiene caracteres de escape, escríbalos entre comillas simples. Las comillas simples indican a PowerShell que no interprete ningún carácter como secuencias de escape.

Type:String
Aliases:PSPath, LP
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-PassThru

Pasa un objeto que representa la ubicación de la canalización. De forma predeterminada, este cmdlet no genera ningún resultado.

Type:SwitchParameter
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Path

Cambia la ubicación a la ubicación especificada por esta ruta de acceso después de que agrega (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 los caracteres comodín. El nombre de parámetro es opcional.

Type:String
Position:1
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:True

-StackName

Especifica la pila de ubicaciones a la que se agrega la ubicación actual. Escriba un nombre de pila de ubicaciones. 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 ubicaciones actual, use el parámetro StackName del Set-Location cmdlet . 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.

Type:String
Position:Named
Default value:Default stack
Required:False
Accept pipeline input:True
Accept wildcard characters: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. Los elementos se agregan en el orden en que se utilizan y luego se recuperan para su uso 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 Set-Location cmdlet 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 Push-Location cmdlet .

  • Para obtener una ubicación desde una pila de ubicaciones, use el Pop-Location cmdlet .

  • Para mostrar las ubicaciones en la pila de ubicaciones actual, use el parámetro Stack del Get-Location cmdlet .

  • Para mostrar las ubicaciones en una pila de ubicaciones con nombre, use el parámetro StackName del Get-Location cmdlet .

  • Para crear una nueva pila de ubicación, use el parámetro StackName del Push-Location cmdlet . 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 Set-Location cmdlet .

La pila de ubicaciones predeterminada sin nombre sólo es accesible en su totalidad cuando es la pila de ubicaciones actual. Si crea una pila de ubicación con nombre en la pila de ubicaciones actual, ya no puede usar los Push-Location cmdlets o Pop-Location para agregar o obtener elementos de la pila predeterminada o usar el Get-Location 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 Set-Location cmdlet con un valor de $null o una cadena vacía ("").

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

El Push-Location cmdlet 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, consulte about_Providers.