Get-Location
Ottiene informazioni sulla posizione di lavoro corrente o sullo stack di posizioni.
Sintassi
Location (Impostazione predefinita)
Get-Location
[-PSProvider <String[]>]
[-PSDrive <String[]>]
[-UseTransaction]
[<CommonParameters>]
Stack
Get-Location
[-Stack]
[-StackName <String[]>]
[-UseTransaction]
[<CommonParameters>]
Descrizione
Il cmdlet Get-Location ottiene un oggetto che rappresenta la directory corrente, in modo analogo al comando pwd (Print Working Directory).
Quando si passa da un'unità di PowerShell all'altro, PowerShell mantiene la posizione in ogni unità. È possibile usare questo cmdlet per trovare la posizione in ogni unità.
È possibile usare questo cmdlet per ottenere la directory corrente in fase di esecuzione e usarla in funzioni e script, ad esempio in una funzione che visualizza la directory corrente nel prompt di PowerShell.
È anche possibile usare questo cmdlet per visualizzare i percorsi in uno stack di posizioni. Per altre informazioni, vedere le note e le descrizioni dei parametri Stack e StackName.
Esempio
Esempio 1: Visualizzare il percorso dell'unità corrente
Questo comando visualizza il percorso nell'unità PowerShell corrente.
PS C:\Windows> Get-Location
Path
----
C:\Windows
Ad esempio, se ci si trova nella directory Windows dell'unità C:, viene visualizzato il percorso di tale directory.
Esempio 2: Visualizzare la posizione corrente per unità diverse
Questo esempio illustra l'uso di Get-Location per visualizzare la posizione corrente in unità powerShell diverse.
Set-Location viene usato per modificare la posizione in diversi percorsi in diversi PSDrive.
PS C:\> Set-Location C:\Windows
PS C:\Windows> Set-Location HKLM:\Software\Microsoft
PS HKLM:\Software\Microsoft> Set-Location "HKCU:\Control Panel\Input Method"
PS HKCU:\Control Panel\Input Method> Get-Location -PSDrive C
Path
----
C:\Windows
PS HKCU:\Control Panel\Input Method> Get-Location -PSDrive HKLM
Path
----
HKLM:\Software\Microsoft
PS HKCU:\Control Panel\Input Method> Set-Location C:
PS C:\Windows> Get-Location -PSProvider Registry
Path
----
HKCU:\Control Panel\Input Method
Esempio 3: Ottenere posizioni usando stack
Questo esempio illustra come usare i parametri Stack e StackName di Get-Location per elencare i percorsi nello stack di percorsi corrente e negli stack di percorsi alternativi.
Il cmdlet Push-Location viene usato per cambiare in tre posizioni diverse. Il terzo push usa un nome stack diverso. Il parametro stack di di Get-Location visualizza il contenuto dello stack predefinito. Il parametro StackName di Get-Location visualizza il contenuto dello stack denominato Stack2.
PS C:\> Push-Location C:\Windows
PS C:\Windows>Push-Location System32
PS C:\Windows\System32>Push-Location WindowsPowerShell -StackName Stack2
C:\Windows\System32\WindowsPowerShell>Get-Location -Stack
Path
----
C:\Windows
C:\
C:\Windows\System32\WindowsPowerShell>Get-Location -StackName Stack2
Path
----
C:\Windows\System32
Esempio 4: Personalizzare il prompt di PowerShell
Questo esempio illustra come personalizzare il prompt di PowerShell.
PS C:\>
function prompt { 'PowerShell: ' + (Get-Location) + '> '}
PowerShell: C:\>
La funzione che definisce il prompt include un comando Get-Location, che viene eseguito ogni volta che il prompt viene visualizzato nella console.
Il formato del prompt di PowerShell predefinito è definito da una funzione speciale denominata prompt. È possibile modificare il prompt nella console creando una nuova funzione denominata prompt.
Per visualizzare la funzione del prompt corrente, digitare il comando seguente: Get-Content Function:\prompt
Parametri
-PSDrive
Ottiene il percorso corrente nell'unità di PowerShell specificata.
Ad esempio, se ci si trova nell'unità Cert:, è possibile usare questo parametro per trovare la posizione corrente nell'unità C:.
Proprietà dei parametri
| Tipo: | String[] |
| Valore predefinito: | None |
| Supporta i caratteri jolly: | False |
| DontShow: | False |
Set di parametri
Location
| Posizione: | Named |
| Obbligatorio: | False |
| Valore dalla pipeline: | False |
| Valore dalla pipeline in base al nome della proprietà: | True |
| Valore dagli argomenti rimanenti: | False |
-PSProvider
Ottiene il percorso corrente nell'unità supportata dal provider di PowerShell specificato. Se il provider specificato supporta più unità, questo cmdlet restituisce il percorso nell'unità a cui si accede più di recente.
Ad esempio, se ci si trova nell'unità C:, è possibile usare questo parametro per trovare la posizione corrente nelle unità del provider di Registro di sistema di PowerShell.
Proprietà dei parametri
| Tipo: | String[] |
| Valore predefinito: | None |
| Supporta i caratteri jolly: | False |
| DontShow: | False |
Set di parametri
Location
| Posizione: | Named |
| Obbligatorio: | False |
| Valore dalla pipeline: | False |
| Valore dalla pipeline in base al nome della proprietà: | True |
| Valore dagli argomenti rimanenti: | False |
-Stack
Indica che questo cmdlet visualizza i percorsi aggiunti allo stack di percorsi corrente. È possibile aggiungere posizioni agli stack usando il cmdlet Push-Location.
Per visualizzare i percorsi in uno stack di percorsi diverso, usare il parametro StackName. Per informazioni sugli stack di posizioni, vedere le note .
Proprietà dei parametri
| Tipo: | SwitchParameter |
| Valore predefinito: | None |
| Supporta i caratteri jolly: | False |
| DontShow: | False |
Set di parametri
Stack
| Posizione: | Named |
| Obbligatorio: | False |
| Valore dalla pipeline: | False |
| Valore dalla pipeline in base al nome della proprietà: | False |
| Valore dagli argomenti rimanenti: | False |
-StackName
Specifica, come matrice di stringhe, gli stack di percorsi denominati. Immettere uno o più nomi di stack di percorsi.
Per visualizzare i percorsi nello stack di percorsi corrente, usare il parametro stack di. Per creare uno stack di posizioni nello stack di percorsi corrente, usare il cmdlet Set-Location.
Questo cmdlet non può visualizzare i percorsi nello stack predefinito senza nome, a meno che non sia lo stack corrente.
Proprietà dei parametri
| Tipo: | String[] |
| Valore predefinito: | None |
| Supporta i caratteri jolly: | False |
| DontShow: | False |
Set di parametri
Stack
| Posizione: | Named |
| Obbligatorio: | False |
| Valore dalla pipeline: | False |
| Valore dalla pipeline in base al nome della proprietà: | True |
| Valore dagli argomenti rimanenti: | False |
-UseTransaction
Include il comando nella transazione attiva. Questo parametro è valido solo quando è in corso una transazione. Per altre informazioni, vedere about_Transactions.
Proprietà dei parametri
| Tipo: | SwitchParameter |
| Valore predefinito: | False |
| Supporta i caratteri jolly: | False |
| DontShow: | False |
| Alias: | usetx |
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 |
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
None
Gli oggetti non possono essere inviati tramite pipe a questo cmdlet.
Output
PathInfo
Per impostazione predefinita, questo cmdlet restituisce un oggetto PathInfo.
PathInfoStack
Quando si usano i parametri stack stack o StackName, questo cmdlet restituisce un oggetto PathInfoStack.
Note
Windows PowerShell include gli alias seguenti per Get-Location:
glpwd
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.
Il cmdlet Get-Location restituisce la directory corrente dello spazio di esecuzione di PowerShell corrente.
Questo cmdlet è progettato per lavorare con i dati esposti da qualsiasi provider. Per elencare i provider nella sessione, digitare Get-PSProvider. Per altre informazioni, consultare about_Providers.
I modi in cui il PSProvider, PSDrive, Stacke StackName parametri dipendono dal provider. Alcune combinazioni genereranno errori, ad esempio specificando sia un'unità che un provider che non espone tale unità. Se non vengono specificati parametri, questo cmdlet restituisce l'oggetto PathInfo per il provider che contiene il percorso di lavoro 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 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 cmdletGet-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-Locationcrea 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 o usare questo cmdlet 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 ("").