Condividi tramite


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:

  • gl
  • pwd

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 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 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 ("").