Condividi tramite


Join-Path

Combina un percorso e un percorso figlio in un singolo percorso.

Sintassi

Join-Path
    [-Path] <String[]>
    [-ChildPath] <String>
    [[-AdditionalChildPath] <String[]>]
    [-Resolve]
    [-Credential <PSCredential>]
    [<CommonParameters>]

Descrizione

Il Join-Path cmdlet combina un percorso e un percorso figlio in un unico percorso. Il provider fornisce i delimitatori di percorso.

Esempio

Esempio 1: Combinare un percorso con un percorso figlio

PS C:\> Join-Path -Path "path" -ChildPath "childpath"

path\childpath

Questo comando usa Join-Path per combinare un percorso con un percorso figlio.

Poiché il comando viene eseguito dal FileSystem provider, fornisce il \ delimitatore per unire i percorsi.

Esempio 2: Combinare percorsi che contengono già separatori di directory

PS C:\> Join-Path -Path "path\" -ChildPath "\childpath"

path\childpath

I separatori \ di directory esistenti vengono gestiti in modo che sia presente un solo separatore tra Path e ChildPath

Esempio 3: Visualizzare file e cartelle unendo un percorso a un percorso figlio

Join-Path "C:\win*" "System*" -Resolve

Questo comando visualizza i file e le cartelle a cui si fa riferimento unendo il C:\Win\* percorso e il System\* percorso figlio. Visualizza gli stessi file e cartelle di Get-ChildItem, ma visualizza il percorso completo di ogni elemento. In questo comando i nomi dei Path parametri facoltativi e ChildPath vengono omessi.

Esempio 4: Usare Join-Path con il provider del Registro di sistema di PowerShell

PS HKLM:\> Join-Path -Path System -ChildPath *ControlSet* -Resolve

HKLM:\System\ControlSet001
HKLM:\System\CurrentControlSet

Questo comando visualizza le chiavi del Registro di sistema nella HKLM\System sottochiave del Registro di sistema che includono ControlSet.

Il Resolve parametro tenta di risolvere il percorso unito, inclusi i caratteri jolly dal percorso del provider corrente HKLM:\

Esempio 5: Combinare più radici di percorso con un percorso figlio

Join-Path -Path C:, D:, E:, F: -ChildPath New

C:\New
D:\New
E:\New
F:\New

Questo comando usa per combinare Join-Path più radici di percorso con un percorso figlio.

Nota

Le unità specificate da Path devono esistere o il join di tale voce avrà esito negativo.

Esempio 6: Combinare le radici di un'unità del file system con un percorso figlio

Get-PSDrive -PSProvider filesystem | ForEach-Object {$_.root} | Join-Path -ChildPath "Subdir"

C:\Subdir
D:\Subdir

Questo comando combina le radici di ogni unità del file system di PowerShell nella console con il Subdir percorso figlio.

Il comando usa il Get-PSDrive cmdlet per ottenere le unità di PowerShell supportate dal provider FileSystem. L'istruzione ForEach-Object seleziona solo la proprietà Root degli oggetti PSDriveInfo e la combina con il percorso figlio specificato.

L'output mostra che le unità di PowerShell nel computer includono un'unità mappata alla C:\Program Files directory.

Esempio 7: Combinare un numero illimitato di percorsi

Join-Path a b c d e f g

a\b\c\d\e\f\g

Il AdditionalChildPath parametro consente l'unione di un numero illimitato di percorsi.

In questo esempio non vengono usati nomi di parametro, pertanto "a" viene associato a Path, "b" a ChildPath e "c-g" a AdditionalChildPath

Parametri

-AdditionalChildPath

Specifica elementi aggiuntivi da aggiungere al valore del parametro Path . Il ChildPath parametro è ancora obbligatorio e deve essere specificato anche.

Questo parametro viene specificato con la ValueFromRemainingArguments proprietà che consente di unire un numero illimitato di percorsi.

Questo parametro è stato aggiunto in PowerShell 6.0.

Tipo:String[]
Posizione:2
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:True
Accettare caratteri jolly:False

-ChildPath

Specifica gli elementi da aggiungere al valore del Path parametro . I caratteri jolly sono consentiti. Il ChildPath parametro è obbligatorio, anche se il nome del parametro ("ChildPath") è facoltativo.

Tipo:String
Posizione:1
Valore predefinito:None
Necessario:True
Accettare l'input della pipeline:True
Accettare caratteri jolly:True

-Credential

Nota

Questo parametro non è supportato da alcun provider installato con PowerShell. Per rappresentare un altro utente o elevare le credenziali durante l'esecuzione di questo cmdlet, usare Invoke-Command.

Tipo:PSCredential
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:True
Accettare caratteri jolly:False

-Path

Specifica il percorso principale (o percorsi) a cui viene aggiunto il percorso figlio. I caratteri jolly sono consentiti.

Il valore di Path determina quale provider unisce i percorsi e aggiunge i delimitatori di percorso. Il Path parametro è obbligatorio, anche se il nome del parametro ("Path") è facoltativo.

Tipo:String[]
Alias:PSPath
Posizione:0
Valore predefinito:None
Necessario:True
Accettare l'input della pipeline:True
Accettare caratteri jolly:True

-Resolve

Indica che questo cmdlet deve tentare di risolvere il percorso aggiunto dal provider corrente.

  • Se vengono utilizzati caratteri jolly, il cmdlet restituisce tutti i percorsi che corrispondono al percorso unito.
  • Se non vengono utilizzati caratteri jolly, il cmdlet verrà generato un errore se il percorso non esiste.
Tipo:SwitchParameter
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

Input

String

È possibile inviare tramite pipe una stringa contenente un percorso a questo cmdlet.

Output

String

Questo cmdlet restituisce una stringa contenente il percorso risultante.

Note

I cmdlet che contengono il sostantivo Path (i cmdlet Path) modificano i nomi dei percorsi e restituiscono i nomi in un formato conciso che tutti i provider di PowerShell possono interpretare. Sono progettati per l'uso in programmi e script in cui si vuole visualizzare tutto o parte di un nome di percorso in un determinato formato. Usarli come si userebbe Dirname, Normpath, Realpath, Joino altri manipolatori di percorso.

È possibile usare i cmdlet di percorso con diversi provider, inclusi i FileSystemprovider , Registrye Certificate .

Questo 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.