Pop-Location
Modifica la posizione corrente nella posizione di cui è stato eseguito l'ultimo push nello stack.
Sintassi
Pop-Location
[-PassThru]
[-StackName <String>]
[<CommonParameters>]
Descrizione
Il cmdlet Pop-Location
modifica il percorso corrente nel percorso di cui è stato eseguito l'ultimo push nello stack usando il cmdlet Push-Location
. È possibile visualizzare una posizione dallo stack predefinito o da uno stack creato usando un comando Push-Location
.
Esempio
Esempio 1: Passare alla posizione più recente
PS C:\> Pop-Location
Questo comando modifica la posizione nel percorso aggiunto più di recente allo stack corrente.
Esempio 2: Passare alla posizione più recente in uno stack denominato
PS C:\> Pop-Location -StackName "Stack2"
Questo comando modifica la posizione nel percorso aggiunto più di recente allo stack di percorsi Stack2.
Per altre informazioni sugli stack di posizioni, vedere la Notes.
Esempio 3: Spostarsi tra posizioni per provider diversi
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:\>
Questi comandi usano i cmdlet Push-Location
e Pop-Location
per spostarsi tra percorsi supportati da provider di PowerShell diversi. I comandi usano l'alias pushd
per Push-Location
e l'alias di popd
per Pop-Location
.
Il primo comando esegue il push del percorso del file system corrente nello stack e passa all'unità HKLM supportata dal provider del Registro di sistema di PowerShell.
Il secondo comando esegue il push del percorso del Registro di sistema nello stack e passa a un percorso supportato dal provider di certificati PowerShell.
Gli ultimi due comandi esegnino tali posizioni dallo stack. Il primo comando popd
torna all'unità del Registro di sistema e il secondo comando torna all'unità del file system.
Parametri
-PassThru
Passa un oggetto che rappresenta la posizione alla pipeline. Per impostazione predefinita, questo cmdlet non genera alcun output.
Tipo: | SwitchParameter |
Posizione: | Named |
Valore predefinito: | None |
Necessario: | False |
Accettare l'input della pipeline: | False |
Accettare caratteri jolly: | False |
-StackName
Specifica lo stack di posizioni da cui viene estratta la posizione. Immettere un nome dello stack di percorsi.
Senza questo parametro, Pop-Location
viene visualizzata una posizione dallo stack di posizioni corrente. Per impostazione predefinita, lo stack di percorsi corrente è lo stack di percorsi predefinito senza nome creato da PowerShell. Per impostare uno stack di percorsi nello stack di percorsi corrente, usare il parametro StackName del cmdlet Set-Location
. Per altre informazioni sugli stack di posizioni, vedere la Notes.
Pop-Location
non può visualizzare una posizione dallo stack predefinito senza nome, a meno che non sia lo stack di percorsi corrente.
Tipo: | String |
Posizione: | Named |
Valore predefinito: | None |
Necessario: | False |
Accettare l'input della pipeline: | True |
Accettare caratteri jolly: | False |
Input
None
Non è possibile inviare tramite pipe oggetti a questo cmdlet.
Output
None
Per impostazione predefinita, questo cmdlet non restituisce alcun output.
Quando si utilizza il parametro PassThru, questo cmdlet restituisce un oggetto PathInfo che rappresenta il percorso corrente dopo l'operazione del cmdlet.
Note
PowerShell include gli alias seguenti per Pop-Location
:
- Tutte le piattaforme:
popd
PowerShell supporta più spazi di esecuzione per processo. Ogni spazio di esecuzione ha un proprio directory corrente.
Non è uguale a [System.Environment]::CurrentDirectory
. Questo comportamento può essere un problema quando si chiamano le API .NET o si eseguono applicazioni native senza fornire percorsi di directory espliciti.
Anche se i cmdlet location hanno impostato la directory corrente a livello di processo, non è possibile dipendere da esso perché un altro spazio di esecuzione potrebbe modificarlo in qualsiasi momento. È consigliabile usare i cmdlet location per eseguire operazioni basate sul percorso usando la directory di lavoro corrente specifica dello spazio di esecuzione corrente.
Uno stack è un elenco first-out ultimo in cui è possibile accedere solo all'elemento aggiunto più di recente. È possibile aggiungere elementi a uno stack nell'ordine in cui vengono usati e quindi recuperarli per l'uso nell'ordine inverso. PowerShell consente di archiviare i percorsi del provider negli stack di posizioni.
PowerShell crea uno stack di percorsi predefinito senza nome ed è possibile creare più stack di percorsi denominati. Se non si specifica un nome dello stack, PowerShell usa lo stack di percorsi corrente. Per impostazione predefinita, il percorso predefinito senza nome è lo stack di percorsi corrente, ma è possibile usare il cmdlet Set-Location
per modificare lo stack di percorsi corrente.
Per gestire gli stack di percorsi, usare i cmdlet di PowerShell *-Location
, come indicato di seguito:
Per aggiungere una posizione a uno stack di percorsi, usare il cmdlet
Push-Location
.Per ottenere una posizione da uno stack di percorsi, usare il cmdlet
Pop-Location
.Per visualizzare i percorsi nello stack di percorsi corrente, usare il parametro Stack del cmdlet
Get-Location
.Per visualizzare i percorsi in uno stack di percorsi denominato, usare il parametro StackName del cmdlet
Get-Location
.Per creare un nuovo stack di percorsi, usare il parametro StackName del cmdlet
Push-Location
. Se si specifica uno stack che non esiste,Push-Location
crea lo stack.Per impostare uno stack di percorsi nello stack di percorsi corrente, usare il parametro StackName del cmdlet
Set-Location
.
Lo stack di percorsi predefinito senza nome è completamente accessibile solo quando si tratta dello stack di percorsi corrente.
Se si crea uno stack di percorsi denominato nello stack di percorsi corrente, non è più possibile usare i cmdlet Push-Location
o Pop-Location
per aggiungere o ottenere elementi dallo stack predefinito oppure usare il cmdlet Get-Location
per visualizzare i percorsi nello stack senza nome. Per rendere lo stack senza nome lo stack corrente, usare il parametro StackName del cmdlet Set-Location
con un valore di $null
o una stringa vuota (""
).
È anche possibile fare riferimento a Pop-Location
dal relativo alias predefinito popd
. Per altre informazioni, vedere about_Aliases.
Pop-Location
è progettato per lavorare con i dati esposti da qualsiasi provider. Per elencare i provider disponibili nella sessione, digitare Get-PSProvider
. Per altre informazioni, vedere about_Providers.