Condividi tramite


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.

PathInfo

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.