Come unire il percorso per combinare più di due stringhe in un percorso di file in PowerShell

  1. Utilizzare il valore Join-Path per combinare più di due stringhe in un percorso file in PowerShell
  2. Conclusione
Come unire il percorso per combinare più di due stringhe in un percorso di file in PowerShell

Il cmdlet Join-Path consente all’utente di combinare stringhe in un singolo percorso. A volte, potrebbe essere necessario combinare percorsi per creare un singolo percorso quando si lavora in PowerShell.

È qui che il cmdlet Join-Path entra in azione. Molti percorsi secondari possono essere combinati o aggiunti al percorso principale per creare un singolo percorso.

Il parametro -Path specifica il percorso principale a cui viene aggiunto il percorso secondario. Il valore -Path determina quale provider unisce i percorsi e aggiunge i delimitatori di percorso.

Fornisce il delimitatore \ per unire i percorsi. Il parametro -ChildPath specifica i percorsi da aggiungere al valore del parametro -Path.

Ad esempio, il seguente comando utilizza Join-Path per combinare il percorso principale hello e un percorso secondario world.

Join-Path -Path "hello" -ChildPath "world"

Uscita:

powershell unisci percorso - output 1

Il cmdlet Join-Path accetta solo due input di stringa o un parametro -ChildPath. Utilizzando il comando singolo, non è possibile utilizzare Join-Path per combinare più di due stringhe in un percorso file.

È necessario utilizzare più istruzioni Join-Path insieme per combinare più di due stringhe in un percorso file in PowerShell.

Utilizzare il valore Join-Path per combinare più di due stringhe in un percorso file in PowerShell

Poiché il valore del percorso Join-Path può essere inviato al pipe, è possibile unire più istruzioni Join-Path insieme per combinare più di due stringhe in un percorso file.

Ad esempio, il seguente codice combina tutte e quattro le stringhe e crea un singolo percorso C:\content\software\PowerShell.

Join-Path -Path "C:" -ChildPath "content" | Join-Path -ChildPath "software" | Join-Path -ChildPath "PowerShell"

In questo frammento di codice, stai utilizzando il cmdlet Join-Path più volte per costruire gradualmente un percorso file. Con ogni chiamata a Join-Path, stai prendendo il percorso corrente e ampliandolo aggiungendo un altro segmento.

Questo avviene inviando l’output di ogni operazione Join-Path a quella successiva, costruendo essenzialmente il percorso file finale pezzo dopo pezzo. Il parametro -ChildPath è fondamentale qui, poiché specifica il segmento aggiuntivo da aggiungere al percorso esistente.

Di conseguenza, il codice crea efficacemente un percorso file completo combinando il percorso di base C: con le stringhe successive content, software e PowerShell.

Uscita:

unisci percorso powershell - output 2

Combinare più percorsi file con un percorso secondario in PowerShell

Lo scopo principale di combinare più percorsi con un percorso secondario è creare percorsi file completamente qualificati in PowerShell. Comprendendo come combinare più percorsi con un percorso secondario, puoi costruire in modo efficiente percorsi file dinamicamente, migliorando la flessibilità e la leggibilità dei tuoi script PowerShell.

Join-Path -Path "Path1\", "Path2\" -ChildPath "Folder\File.txt"

In questo frammento di codice, stai utilizzando il cmdlet Join-Path per unire due percorsi (Path1 e Path2) con un percorso secondario (Folder\File.txt). Passando un array di percorsi radice attraverso il parametro -Path e specificando il percorso secondario con -ChildPath, stai creando percorsi file completamente qualificati.

Di conseguenza, l’uscita presenta i percorsi file completi formati combinando ciascun percorso con il percorso secondario fornito. Questo metodo offre un modo semplice per integrare più percorsi in un singolo percorso file, migliorando la versatilità dei tuoi script PowerShell.

Uscita:

unisci percorso powershell - output 3

Combinare radici di un’unità del file system con un percorso secondario in PowerShell

Quando si tratta di più radici di percorso e un percorso secondario, il cmdlet Join-Path, in combinazione con input di array e il parametro -ChildPath, fornisce un modo efficiente per unire componenti di percorso disparati in un percorso file coeso.

Nel contesto del cmdlet Get-PSDrive, il parametro -PSProvider filtra le unità in base al provider a cui appartengono.

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

In questo frammento di codice, stai utilizzando il cmdlet Get-PSDrive per recuperare i percorsi radice di tutte le unità del file system. Quindi, stai inviando i risultati a ForEach-Object per estrarre ciascun percorso radice.

Questi percorsi radice vengono successivamente passati a Join-Path insieme al percorso secondario SubFolder. Il cmdlet Join-Path combina ciascun percorso radice con il percorso secondario, creando percorsi file completamente qualificati.

Questo metodo ti consente di generare dinamicamente percorsi file in base ai percorsi radice delle unità attualmente accessibili sul tuo sistema.

Uscita:

unisci percorso powershell - output 4

Conclusione

In conclusione, il cmdlet Join-Path in PowerShell funge da strumento prezioso per combinare stringhe in un singolo percorso file. Sebbene accetti generalmente solo due input di stringa o un parametro -ChildPath, puoi superare questa limitazione concatenando più istruzioni Join-Path insieme.

Questo articolo ha esplorato vari metodi per combinare più stringhe in un percorso file utilizzando Join-Path, inclusi l’utilizzo del cmdlet più volte di seguito e l’invio dell’output di un’operazione Join-Path in un’altra. Comprendendo queste tecniche, puoi costruire dinamicamente percorsi file basati su diversi scenari e requisiti nei tuoi script PowerShell.

Ti piacciono i nostri tutorial? Iscriviti a DelftStack su YouTube per aiutarci a creare altre guide video di alta qualità. Iscriviti
Rohan Timalsina avatar Rohan Timalsina avatar

Rohan is a learner, problem solver, and web developer. He loves to write and share his understanding.

LinkedIn Website

Articolo correlato - PowerShell String

Articolo correlato - PowerShell Path