Condividi tramite


Join-Path

Combina un percorso e un percorso figlio in un unico percorso.

Sintassi

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

Descrizione

Il cmdlet Join-Path 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 provider di FileSystem, 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 viene fatto riferimento unendo il percorso C:\Win\* e il percorso figlio System\*. Visualizza gli stessi file e cartelle di Get-ChildItem, ma visualizza il percorso completo di ogni elemento. In questo comando vengono omessi i nomi dei parametri facoltativi Path e ChildPath.

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 sottochiave del Registro di sistema HKLM\System che includono ControlSet.

Il parametro Resolve 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 Join-Path per combinare 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 percorso figlio Subdir.

Il comando usa il cmdlet Get-PSDrive per ottenere le unità di PowerShell supportate dal provider FileSystem. L'istruzione ForEach-Object seleziona solo la proprietà radice 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 directory C:\Program Files.

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 parametro AdditionalChildPath 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 altri elementi da aggiungere al valore del parametro Path. Il parametro ChildPath è ancora obbligatorio e deve essere specificato anche.

Questo parametro viene specificato con la proprietà ValueFromRemainingArguments 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 parametro Path. Sono consentiti caratteri jolly. Il parametro ChildPath è 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 quando si esegue 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 i percorsi) a cui viene aggiunto il percorso figlio. Sono consentiti caratteri jolly.

Il valore di Path determina il provider che unisce i percorsi e aggiunge i delimitatori di percorso. Il parametro Path è 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 usati caratteri jolly, il cmdlet genera 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 desidera visualizzare tutto o parte di un nome di percorso in un formato specifico. Usarli come usare Dirname, Normpath, Realpath, Joino altri manipolatori di percorso.

È possibile usare i cmdlet di percorso con diversi provider, inclusi i provider di FileSystem, 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.