Condividi tramite


Pop-Location

Imposta il percorso corrente sul percorso di cui è stato effettuato il push più di recente nello stack.

Sintassi

Pop-Location
   [-PassThru]
   [-StackName <String>]
   [-UseTransaction]
   [<CommonParameters>]

Descrizione

Il Pop-Location cmdlet modifica il percorso corrente nel percorso di cui è stato eseguito l'ultimo push nello stack usando il Push-Location cmdlet . È possibile visualizzare una posizione dallo stack predefinito o da uno stack creato usando un Push-Location comando .

Esempio

Esempio 1: Passare alla posizione più recente

PS C:\> Pop-Location

Questo comando imposta il percorso corrente sul 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 imposta il percorso corrente sul percorso aggiunto più di recente allo stack di percorsi Stack2.

Per altre informazioni sugli stack di posizioni, vedere le note.

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 Push-Location cmdlet 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 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 prelevano tali percorsi dallo stack. Il primo popd comando 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, il 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 percorsi da cui viene prelevato il percorso. Immettere un nome per lo 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 creare uno stack di percorsi nello stack di percorsi corrente, usare il parametro StackName del Set-Location cmdlet . Per altre informazioni sugli stack di posizioni, vedere le note.

Pop-Location non può visualizzare una posizione dallo stack predefinito senza nome, a meno che non sia lo stack di posizioni corrente.

Tipo:String
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:True
Accettare caratteri jolly:False

-UseTransaction

Include il comando nella transazione attiva. Questo parametro è valido solo quando è in corso una transazione. Per altre informazioni, vedere about_Transactions.

Tipo:SwitchParameter
Alias:usetx
Posizione:Named
Valore predefinito:False
Necessario:False
Accettare l'input della pipeline:False
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.

PathInfo

Quando si usa il parametro PassThru , questo cmdlet restituisce un oggetto PathInfo che rappresenta il percorso corrente dopo l'operazione del cmdlet.

Note

Windows PowerShell include gli alias seguenti per Pop-Location:

  • popd

PowerShell supporta più spazi di esecuzione per processo. Ogni spazio di esecuzione ha la propria directory corrente. Non è uguale [System.Environment]::CurrentDirectorya . 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 in 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 Set-Location cmdlet 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 Push-Location cmdlet .

  • Per ottenere una posizione da uno stack di posizioni, usare il Pop-Location cmdlet .

  • Per visualizzare i percorsi nello stack di percorsi corrente, usare il parametro Stack del Get-Location cmdlet .

  • Per visualizzare i percorsi in uno stack di percorsi denominato, usare il parametro StackName del Get-Location cmdlet .

  • Per creare un nuovo stack di percorsi, usare il parametro StackName del Push-Location cmdlet . Se si specifica uno stack che non esiste, Push-Location crea lo stack.

  • Per creare uno stack di percorsi nello stack di percorsi corrente, usare il parametro StackName del Set-Location cmdlet .

Lo stack di percorsi predefinito senza nome è pienamente accessibile solo quando è lo stack di percorsi corrente. Se si crea uno stack di percorsi denominato nello stack di percorsi corrente, non è più possibile usare i Push-Location cmdlet o Pop-Location per aggiungere o ottenere elementi dallo stack predefinito oppure usare il Get-Location cmdlet per visualizzare i percorsi nello stack senza nome. Per rendere lo stack senza nome lo stack corrente, usare il parametro StackName del Set-Location cmdlet con un valore di $Null o una stringa vuota ("").

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.