Condividi tramite


Split-Path

Restituisce la parte specificata di un percorso.

Sintassi

Split-Path
     [-Path] <String[]>
     [-Parent]
     [-Resolve]
     [-Credential <PSCredential>]
     [<CommonParameters>]
Split-Path
     [-Path] <String[]>
     -Leaf
     [-Resolve]
     [-Credential <PSCredential>]
     [<CommonParameters>]
Split-Path
     [-Path] <String[]>
     -LeafBase
     [-Resolve]
     [-Credential <PSCredential>]
     [<CommonParameters>]
Split-Path
     [-Path] <String[]>
     -Extension
     [-Resolve]
     [-Credential <PSCredential>]
     [<CommonParameters>]
Split-Path
     [-Path] <String[]>
     -Qualifier
     [-Resolve]
     [-Credential <PSCredential>]
     [<CommonParameters>]
Split-Path
     [-Path] <String[]>
     -NoQualifier
     [-Resolve]
     [-Credential <PSCredential>]
     [<CommonParameters>]
Split-Path
     [-Path] <String[]>
     [-Resolve]
     -IsAbsolute
     [-Credential <PSCredential>]
     [<CommonParameters>]
Split-Path
     -LiteralPath <String[]>
     [-Resolve]
     [-Credential <PSCredential>]
     [<CommonParameters>]

Descrizione

Il Split-Path cmdlet restituisce solo la parte specificata di un percorso, ad esempio la cartella padre, una sottocartella o un nome file. Può anche ottenere elementi a cui fa riferimento il percorso suddiviso e indicare se il percorso è relativo o assoluto. Se si divide un percorso senza specificare altri parametri, Split-Path restituisce la parte padre del percorso specificato.

Il Split-Path comando restituisce stringhe. Non restituisce FileInfo o altri oggetti elemento come i *-Item comandi.

Esempio

Esempio 1: Ottenere il qualificatore di un percorso

Split-Path -Path "HKCU:\Software\Microsoft" -Qualifier

HKCU:

Questo comando restituisce solo il qualificatore del percorso. Il qualificatore è l'unità.

Esempio 2: Visualizzare la parte del nome file del percorso

Quando si utilizza il parametro Leaf , Split-Path restituisce solo l'ultimo elemento nella stringa di percorso specificata, indipendentemente dal fatto che l'elemento sia un file o una directory.

Split-Path -Path .\folder1\*.txt -Leaf

*.txt

Split-Path -Path .\folder1\*.txt -Leaf -Resolve

file1.txt
file2.txt

Quando si usa il parametro Resolve , Split-Path risolve la stringa di percorso specificata e restituisce gli elementi a cui fa riferimento il percorso.

Esempio 3: Ottenere il contenitore padre

Quando si usa il parametro Parent , Split-Path restituisce solo la parte contenitore padre della stringa di percorso specificata. Se la stringa Path non contiene un contenitore padre, Split-Path restituisce una stringa vuota.

Split-Path -Path .\folder1\file1.txt -Parent

.\folder1

Split-Path -Path .\folder1\file1.txt -Parent -Resolve

D:\temp\test\folder1

Quando si usa il parametro Resolve , Split-Path risolve la stringa di percorso specificata e restituisce il percorso completo del contenitore padre.

Esempio 4: determina se un percorso è assoluto

Questo comando determina se il percorso è relativo o assoluto. In questo caso, poiché il percorso è relativo alla cartella corrente, rappresentata da un punto (.), restituisce $False.

Split-Path -Path ".\My Pictures\*.jpg" -IsAbsolute

False

Esempio 5: Modificare la posizione in un percorso specificato

Questo comando modifica il percorso nella cartella che contiene il profilo di PowerShell.

PS C:\> Set-Location (Split-Path -Path $profile)
PS C:\Users\User01\Documents\PowerShell>

Il comando tra parentesi usa Split-Path per restituire solo l'elemento padre del percorso archiviato nella variabile predefinita $Profile . Il parametro Parent è il parametro di divisione predefinito della posizione. Pertanto, è possibile ometterlo dal comando . Le parentesi indirizzano PowerShell per eseguire prima il comando. Si tratta di un modo utile per passare a una cartella con un nome di percorso lungo.

Esempio 6: Dividere un percorso usando la pipeline

'C:\Users\User01\My Documents\My Pictures' | Split-Path

C:\Users\User01\My Documents

Questo comando usa un operatore pipeline (|) per inviare un percorso a Split-Path. Il percorso è racchiuso tra virgolette per indicare che si tratta di un singolo token.

Parametri

-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

-Extension

Indica che questo cmdlet restituisce solo l'estensione della foglia. Ad esempio, nel percorso C:\Test\Logs\Pass1.logrestituisce solo .log.

Questo parametro è stato introdotto in PowerShell 6.0.

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

-IsAbsolute

Indica che questo cmdlet restituisce $True se il percorso è assoluto e $False se è relativo. In Windows una stringa di percorso assoluta deve iniziare con un identificatore di unità del provider, ad esempio C: o HKCU:. Un percorso relativo inizia con un punto (.) o un punto punto (..).

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

-Leaf

Quando si utilizza il parametro Leaf , Split-Path restituisce solo l'ultimo elemento nella stringa di percorso specificata, indipendentemente dal fatto che l'elemento sia un file o una directory.

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

-LeafBase

Indica che questo cmdlet restituisce solo il nome di base della foglia. Ad esempio, nel percorso C:\Test\Logs\Pass1.logrestituisce solo Pass1.

Questo parametro è stato introdotto in PowerShell 6.0.

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

-LiteralPath

Specifica i percorsi da suddividere. A differenza di Path, il valore di LiteralPath viene usato esattamente come viene tipizzato. Nessun carattere viene interpretato come carattere jolly. Se il percorso include caratteri di escape, racchiuderlo tra virgolette singole. Le virgolette singole indicano a PowerShell di non interpretare alcun carattere come sequenze di escape.

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

-NoQualifier

Indica che questo cmdlet restituisce il percorso senza il qualificatore. Per i provider del FileSystem o del Registro di sistema, il qualificatore è l'unità del percorso del provider, ad esempio C: o HKCU:. Ad esempio, nel percorso C:\Test\Logs\Pass1.logrestituisce solo \Test\Logs\Pass1.log.

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

-Parent

Split-Path restituisce solo la parte contenitore padre della stringa di percorso fornita. Se la stringa Path non contiene un contenitore padre, Split-Path restituisce una stringa vuota.

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

-Path

Specifica i percorsi da suddividere. I caratteri jolly sono consentiti. Se il percorso include spazi, racchiuderlo tra virgolette. È anche possibile inviare tramite pipe un percorso a questo cmdlet.

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

-Qualifier

Indica che questo cmdlet restituisce solo il qualificatore del percorso specificato. Per i provider del FileSystem o del Registro di sistema, il qualificatore è l'unità del percorso del provider, ad esempio C: o HKCU:.

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

-Resolve

Indica che questo cmdlet visualizza gli elementi a cui fa riferimento il percorso di divisione risultante anziché visualizzare gli elementi del percorso.

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 stringhe di testo. Quando si specifica il parametro Resolve , restituisce una stringa che descrive la posizione degli elementi. Non restituisce oggetti che rappresentano gli elementi, ad esempio un oggetto FileInfo o RegistryKey .

Boolean

Quando si specifica il parametro IsAbsolute , questo cmdlet restituisce un valore booleano .

Note

  • I parametri della posizione divisa (Qualificatore, Padre, Estensione, Foglia, LeafBase e NoQualifier) sono esclusivi. È possibile usarne uno solo in ogni comando.

  • I cmdlet che contengono il sostantivo Path (i cmdlet Path ) funzionano con 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 nel modo in cui si userebbe Dirname, Normpath, Realpath, Join o altri manipolatori di percorso.

  • È possibile usare i cmdlet Path insieme a diversi provider. Questi includono i provider FileSystem, Registry e Certificate.

  • Split-Path è 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.