about_Locations
Descrizione breve
Viene descritto come accedere agli elementi dal percorso di lavoro in PowerShell.
Descrizione lunga
Il percorso di lavoro corrente è il percorso predefinito in cui puntano i comandi. In altre parole, si tratta del percorso usato da PowerShell se non si fornisce un percorso esplicito all'elemento o alla posizione interessata dal comando.
Nota
PowerShell supporta più spazi di esecuzione per processo. Ogni spazio di esecuzione ha la propria directory corrente. Non è uguale alla directory corrente del processo di PowerShell: [System.Environment]::CurrentDirectory
.
Ad esempio, è possibile impostare la posizione di lavoro corrente sulla posizione seguente:
Set-Location C:\Program Files\PowerShell
Di conseguenza, tutti i comandi vengono elaborati da questa posizione, a meno che non venga specificato in modo esplicito un altro percorso.
PowerShell mantiene la posizione di lavoro corrente per ogni unità anche quando l'unità non è l'unità corrente. In questo modo è possibile accedere agli elementi dalla posizione di lavoro corrente facendo riferimento solo all'unità di un'altra posizione.
Si supponga, ad esempio, che la posizione di lavoro corrente sia C:\Windows
. Si supponga ora di usare il comando seguente per modificare la posizione di lavoro corrente nell'unità HKLM:
:
Set-Location HKLM:
Anche se la posizione corrente è ora l'unità del Registro di sistema, è comunque possibile accedere agli elementi nella C:\Windows
directory usando l'unità C:
, come illustrato nell'esempio seguente:
Get-ChildItem C:
PowerShell ricorda che il percorso di lavoro corrente per tale unità è la Windows
directory, quindi recupera gli elementi da tale directory. I risultati sono gli stessi se è stato eseguito il comando seguente:
Get-ChildItem C:\Windows
In PowerShell è possibile usare il Get-Location
comando per determinare la posizione di lavoro corrente ed è possibile usare il Set-Location
comando per impostare la posizione di lavoro corrente. Ad esempio, il comando seguente imposta la posizione di lavoro corrente sulla Windows
directory dell'unità C:
:
Set-Location C:\Windows
Dopo aver impostato il percorso di lavoro corrente, è comunque possibile accedere agli elementi da altre unità includendo il nome dell'unità (seguito da due punti) nel comando, come illustrato nell'esempio seguente:
Get-ChildItem HKLM:\software
Il comando di esempio recupera un elenco di elementi nel contenitore Software dell'hive HKEY_LOCAL_MACHINE
nel Registro di sistema.
PowerShell consente anche di usare caratteri speciali per rappresentare la posizione di lavoro corrente e la relativa posizione padre. Per rappresentare la posizione di lavoro corrente, usare un singolo punto. Per rappresentare l'elemento padre della posizione di lavoro corrente, utilizzare due punti. Ad esempio, il codice seguente specifica la System
sottodirectory nella posizione di lavoro corrente:
Get-ChildItem .\System
Se la posizione di lavoro corrente è C:\Windows
, questo comando restituisce un elenco di tutti gli elementi in C:\Windows\System
. Tuttavia, se si usano due punti, viene usata la directory padre della directory di lavoro corrente, come illustrato nell'esempio seguente:
Get-ChildItem ..\"Program Files"
In questo caso, PowerShell considera i due punti come unità C: in modo che il comando recuperi tutti gli elementi nella C:\Program Files
directory.
Un percorso che inizia con una barra rovesciata (\
) identifica un percorso dalla radice dell'unità corrente. Ad esempio, se la posizione di lavoro corrente è C:\Program Files\PowerShell
, la radice dell'unità è C:\
. Di conseguenza, il comando seguente elenca tutti gli elementi nella C:\Windows
directory:
Get-ChildItem \Windows
Se non si specifica un percorso che inizia con un nome di unità, una barra rovesciata () o un punto (\
.
) quando si specifica il nome di un contenitore o di un elemento, si presuppone che il contenitore o l'elemento si trovi nella posizione di lavoro corrente. Ad esempio, se la posizione di lavoro corrente è C:\Windows
, il comando seguente restituisce tutti gli elementi nella C:\Windows\System
directory:
Get-ChildItem System
Se si specifica un nome file anziché un nome di directory, PowerShell restituisce i dettagli su tale file ,presupponendo che il file si trovi nel percorso di lavoro corrente.