Push-Location
Agrega la ubicación actual a la parte superior de una pila de ubicaciones.
Sintaxis
Push-Location
[[-Path] <String>]
[-PassThru]
[-StackName <String>]
[-UseTransaction]
[<CommonParameters>]
Push-Location
[-LiteralPath <String>]
[-PassThru]
[-StackName <String>]
[-UseTransaction]
[<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.
Tipo: | String |
Alias: | PSPath |
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 de la canalización. De forma predeterminada, este cmdlet no genera ningún resultado.
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 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.
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 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.
Tipo: | String |
Posición: | Named |
Valor predeterminado: | Default stack |
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 hay una transacción en curso. Para obtener más información, consulte 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
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.
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 Push-Location
:
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.