Condividi tramite


Push-Location

Aggiunge la posizione corrente all'inizio di uno stack di posizioni.

Sintassi

Path (impostazione predefinita).

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

LiteralPath

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

Descrizione

Il Push-Location cmdlet aggiunge ("push") la posizione corrente in uno stack di posizioni. Se si specifica un percorso, Push-Location inserisce la posizione corrente in una pila di posizioni e quindi modifica la posizione corrente nella posizione specificata dal percorso. È possibile utilizzare il Pop-Location cmdlet per ottenere le posizioni dallo stack di posizioni.

Per impostazione predefinita, il Push-Location cmdlet inserisce il percorso corrente nello stack di percorsi corrente, ma è possibile usare il parametro StackName per specificare uno stack di percorsi alternativo. Se lo stack non esiste, Push-Location crea.

Per altre informazioni sugli stack di posizioni, vedere la Notes.

Esempio

Esempio 1

In questo esempio viene eseguito il push della posizione corrente nello stack di posizioni predefinito, quindi la posizione viene modificata in C:\Windows.

PS C:\> Push-Location C:\Windows

Esempio 2

In questo esempio viene eseguito il push della posizione corrente nello stack RegFunction e viene modificata la posizione corrente nella HKLM:\Software\Policies posizione.

PS C:\> Push-Location HKLM:\Software\Policies -StackName RegFunction

È possibile usare i cmdlet Location in qualsiasi unità PowerShell (PSDrive).

Esempio 3

Questo comando inserisce la posizione corrente nello stack predefinito. Non cambia la posizione.

PS C:\> Push-Location

Esempio 4 - Creare e utilizzare uno stack denominato

Questi comandi illustrano come creare e utilizzare uno stack di percorsi denominati.

PS C:\> Push-Location ~ -StackName Stack2
PS C:\Users\User01> Pop-Location -StackName Stack2
PS C:\>

Il primo comando inserisce il percorso corrente in un nuovo stack denominato Stack2 e quindi modifica il percorso corrente nella home directory, rappresentato nel comando dal simbolo tilde (~), che quando usato in unità del provider FileSystem equivale a $HOME.

Se Stack2 non esiste già nella sessione, Push-Location crearlo. Il secondo comando usa il Pop-Location cmdlet per visualizzare il percorso originale (C:\) dallo stack Stack2. Senza il parametro StackName , Pop-Location viene visualizzata la posizione dallo stack predefinito senza nome.

Per altre informazioni sugli stack di posizioni, vedere la Notes.

Parametri

-LiteralPath

Specifica il percorso della nuova posizione. A differenza del parametro Path, il valore del parametro LiteralPath viene usato esattamente come viene digitato. Nessun carattere viene interpretato come metacaratteri. Se il percorso include caratteri di escape, racchiudilo tra virgolette singole. Le virgolette singole indicano a PowerShell di non interpretare alcun carattere come sequenze di escape.

Proprietà dei parametri

Tipo:String
Valore predefinito:None
Supporta i caratteri jolly:False
DontShow:False
Alias:PSPath, UP

Set di parametri

LiteralPath
Posizione:Named
Obbligatorio:False
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:True
Valore dagli argomenti rimanenti:False

-PassThru

Passa un oggetto che rappresenta la posizione alla pipeline. Per impostazione predefinita, questo cmdlet non genera alcun output.

Proprietà dei parametri

Tipo:SwitchParameter
Valore predefinito:False
Supporta i caratteri jolly:False
DontShow:False

Set di parametri

(All)
Posizione:Named
Obbligatorio:False
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti:False

-Path

Modifica la posizione nella posizione specificata da questo percorso dopo aver aggiunto (inserito) la posizione corrente all'inizio dello stack. Immettere un percorso per qualsiasi posizione il cui provider supporta questo cmdlet. Sono consentiti i metacaratteri. Il nome del parametro è facoltativo.

Proprietà dei parametri

Tipo:String
Valore predefinito:None
Supporta i caratteri jolly:True
DontShow:False

Set di parametri

Path
Posizione:1
Obbligatorio:False
Valore dalla pipeline:True
Valore dalla pipeline in base al nome della proprietà:True
Valore dagli argomenti rimanenti:False

-StackName

Specifica lo stack di posizioni a cui viene aggiunta la posizione corrente. Immettere un nome dello stack di percorsi. Se lo stack non esiste, Push-Location crea.

Senza questo parametro, Push-Location aggiunge la posizione allo 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.

Annotazioni

Push-Location Non è possibile aggiungere una posizione allo stack predefinito senza nome, a meno che non si tratti dello stack di posizione corrente.

Proprietà dei parametri

Tipo:String
Valore predefinito:Default stack
Supporta i caratteri jolly:False
DontShow:False

Set di parametri

(All)
Posizione:Named
Obbligatorio:False
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:True
Valore dagli argomenti rimanenti:False

CommonParameters

Questo cmdlet supporta i parametri comuni: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction e -WarningVariable. Per altre informazioni, vedi about_CommonParameters.

Input

String

È possibile inviare tramite pipe una stringa contenente un percorso (ma non un percorso letterale) 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 Push-Location:

  • Tutte le piattaforme:
    • pushd

PowerShell supporta più spazi di esecuzione per processo. Ogni spazio di esecuzione ha la propria directory attuale. 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 è accessibile solo l'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 posizioni, usare i cmdlet Posizione di PowerShell, 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 posizioni, utilizzare il parametro StackName del Push-Location cmdlet. Se si specifica uno stack che non esiste, Push-Location crea lo stack.

  • Per impostare una pila di percorsi come quella corrente, usare il parametro StackName del Set-Location cmdlet.

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 Push-Location dal relativo alias predefinito pushd. Per altre informazioni, vedere about_Aliases.

Il cmdlet Push-Location è progettato per lavorare con i dati esposti da qualsiasi provider. Per elencare i provider disponibili nella sessione, digitare Get-PSProvider. Per altre informazioni, consultare about_Providers.