about_Path_Syntax

Descrizione breve

Descrive i formati di percorso completi e relativi in PowerShell.

Descrizione lunga

Tutti gli elementi in un archivio dati accessibili tramite un provider di PowerShell possono essere identificati in modo univoco dai relativi nomi di percorso. Un percorso è una combinazione del nome dell'elemento, del contenitore e dei sottocontenitori in cui si trova l'elemento e dell'unità di PowerShell in cui si accede ai contenitori.

In PowerShell i nomi percorso possono essere uno dei due tipi: completi e relativi. Un percorso completo è costituito da tutti gli elementi che costituiscono un percorso. La sintassi seguente mostra gli elementi in un nome di percorso completo:

[<provider>::]<drive>:[\<container>[\<subcontainer>...]]\<item>

Il <provider> segnaposto fa riferimento al provider di PowerShell tramite cui si accede all'archivio dati. Ad esempio, il provider FileSystem consente di accedere ai file e alle directory nel computer. Questo elemento della sintassi è facoltativo e non è mai necessario perché i nomi delle unità sono univoci in tutti i provider.

Il <drive> segnaposto fa riferimento all'unità di PowerShell supportata da un provider di PowerShell specifico. Nel caso del provider FileSystem, le unità di PowerShell eseguono il mapping alle unità di Windows configurate nel sistema. Ad esempio, se il sistema include un'unità A: e un'unità C: , il provider FileSystem crea le stesse unità in PowerShell.

Dopo aver specificato l'unità, è necessario specificare eventuali contenitori e sottocontenitori che contengono l'elemento. I contenitori devono essere specificati nell'ordine gerarchico in cui sono presenti nell'archivio dati. In altre parole, è necessario iniziare con il contenitore padre, quindi il contenitore figlio in tale contenitore padre, ripetendo il modello per ogni contenitore figlio. Inoltre, ogni contenitore deve essere preceduto da una barra rovesciata.

Nota

PowerShell consente di usare barra rovesciata o barra rovesciata per garantire la compatibilità con PowerShell in altre piattaforme. Questa operazione funziona per i comandi di PowerShell, ma potrebbe non funzionare quando viene usata con applicazioni native che prevedono solo il separatore di directory nativo. Usare [System.IO.Path]::DirectorySeparatorChar per trovare il carattere usato per la piattaforma.

Dopo aver specificato il contenitore e i sottocontenitori, è necessario specificare il nome dell'elemento, preceduto da una barra rovesciata. Ad esempio, il nome completo del percorso per il Shell.dll file nella C:\Windows\System32 directory è il seguente:

C:\Windows\System32\Shell.dll

In questo caso, l'unità tramite cui si accede ai contenitori è l'unità C: , il contenitore di primo livello è , il sottocontenitore è WindowsSystem32e l'elemento è Shell.dll.

In alcune situazioni non è necessario specificare un percorso completo e usare invece un percorso relativo. PowerShell consente di identificare un elemento in base alla relativa posizione rispetto alla posizione di lavoro corrente.

PowerShell usa le sequenze di caratteri seguenti per specificare i percorsi relativi.

  • (.) - Posizione corrente
  • (..) - Padre della posizione corrente
  • (\) - Radice della posizione corrente

Gli esempi seguenti si basano sulla directory di lavoro corrente impostata su C:\Windows.

  • Il percorso .\System relativo viene risolto come C:\Windows\System
  • Il percorso ..\Program Files relativo viene risolto come C:\Program Files
  • Il percorso \Program Files relativo viene risolto come C:\Program Files
  • Il percorso System relativo viene risolto come C:\Windows\System

Quando si usa un percorso in un comando, è possibile usare un percorso completo o uno relativo. Si supponga, ad esempio, che la directory di lavoro corrente sia C:\Windows. Il comando seguente Get-ChildItem recupera tutti gli elementi nella C:\TechDocs directory:

Get-ChildItem \TechDocs

La barra rovesciata indica che deve essere utilizzata la radice dell'unità della posizione di lavoro corrente. Poiché la directory di lavoro è C:\Windows, la radice dell'unità è l'unità C: . Poiché la TechDocs directory si trova fuori dalla radice, è necessario specificare solo la barra rovesciata.

Si ottengono gli stessi risultati usando il percorso completo:

Get-ChildItem C:\TechDocs

Indipendentemente dal fatto che si usi un percorso completo o un nome di percorso relativo, un percorso è importante non solo perché individua un elemento ma anche perché identifica in modo univoco l'elemento anche se tale elemento condivide lo stesso nome di un altro elemento in un contenitore diverso.

Si supponga, ad esempio, di avere due file ognuno denominato Results.txt. Il primo file si trova in una directory denominata C:\TechDocs\Jane il secondo file si trova in una directory denominata C:\TechDocs\Feb. Il percorso del primo file (C:\TechDocs\Jan\Results.txt) e il percorso del secondo file (C:\TechDocs\Feb\Results.txt) consentono di distinguere chiaramente i due file.

Vedi anche