Push-Location
Aggiunge il percorso corrente all'inizio di uno stack di percorsi.
Sintassi
Push-Location
[[-Path] <String>]
[-PassThru]
[-StackName <String>]
[<CommonParameters>]
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
esegue il push della posizione corrente in uno stack di posizioni e quindi la posizione corrente viene modificata nella posizione specificata dal percorso. È possibile usare il Pop-Location
cmdlet per ottenere 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
lo crea.
Per altre informazioni sugli stack di posizioni, vedere le note.
Esempio
Esempio 1
In questo esempio viene eseguito il push della posizione corrente nello stack di percorsi predefinito e 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 la posizione corrente viene modificata nel HKLM:\Software\Policies
percorso.
PS C:\> Push-Location HKLM:\Software\Policies -StackName RegFunction
È possibile usare i cmdlet Location in qualsiasi unità di PowerShell (PSDrive).
Esempio 3
Questo comando effettua il push del percorso corrente nello stack predefinito. Non modifica il percorso.
PS C:\> Push-Location
Esempio 4: Creare e usare uno stack denominato
Questi comandi illustrano come creare e usare uno stack di percorsi con nome.
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
lo crea. 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 le note.
Parametri
-LiteralPath
Specifica il percorso della nuova posizione. A differenza del parametro Path , il valore del parametro LiteralPath viene usato esattamente come viene tipizzato. Nessun carattere viene interpretato come carattere jolly. Se il percorso include caratteri di escape, racchiuderlo tra virgolette singole. Le virgolette singole indicano a PowerShell di non interpretare alcun carattere come sequenze di escape.
Tipo: | String |
Alias: | PSPath, LP |
Posizione: | Named |
Valore predefinito: | None |
Necessario: | False |
Accettare l'input della pipeline: | True |
Accettare caratteri jolly: | False |
-PassThru
Passa un oggetto che rappresenta il percorso alla pipeline. Per impostazione predefinita, il cmdlet non genera alcun output.
Tipo: | SwitchParameter |
Posizione: | Named |
Valore predefinito: | False |
Necessario: | False |
Accettare l'input della pipeline: | False |
Accettare caratteri jolly: | False |
-Path
Passa alla posizione specificata da questo percorso dopo aver aggiunto (effettuato il push) il percorso corrente all'inizio dello stack. Immettere un percorso di un qualsiasi provider che supporta questo cmdlet. I caratteri jolly sono consentiti. Il nome del parametro è facoltativo.
Tipo: | String |
Posizione: | 1 |
Valore predefinito: | None |
Necessario: | False |
Accettare l'input della pipeline: | True |
Accettare caratteri jolly: | True |
-StackName
Specifica lo stack di percorsi a cui viene aggiunto il percorso corrente. Immettere un nome per lo stack di percorsi.
Se lo stack non esiste, Push-Location
lo 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 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.
Nota
Push-Location
non può aggiungere una posizione allo stack predefinito senza nome, a meno che non sia lo stack di percorsi corrente.
Tipo: | String |
Posizione: | Named |
Valore predefinito: | Default stack |
Necessario: | False |
Accettare l'input della pipeline: | True |
Accettare caratteri jolly: | False |
Input
È 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.
Quando si usa 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 corrente.
Non è uguale [System.Environment]::CurrentDirectory
a . 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 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 location di PowerShell, 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 (""
).
È anche possibile fare riferimento al Push-Location
relativo alias predefinito, pushd
. Per altre informazioni, vedere about_Aliases.
Il Push-Location
cmdlet è 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.