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.

È possibile usare questo cmdlet per ottenere o inviare solo una parte selezionata di un percorso.

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 i nomi file

Split-Path -Path "C:\Test\Logs\*.log" -Leaf -Resolve

Pass1.log
Pass2.log
...

Questo comando visualizza i file a cui fa riferimento il percorso suddiviso. Poiché questo percorso viene suddiviso nell'ultimo elemento, noto anche come foglia, il comando visualizza solo i nomi file.

Il parametro Resolve indica Split-Path di visualizzare gli elementi a cui fa riferimento il percorso diviso anziché visualizzare il percorso diviso.

Come tutti i Split-Path comandi, questo comando restituisce stringhe. Non restituisce oggetti FileInfo che rappresentano i file.

Esempio 3: Ottenere il contenitore padre

Split-Path -Parent "C:\WINDOWS\system32\WindowsPowerShell\V1.0\about_*.txt"

C:\WINDOWS\system32\WindowsPowerShell\V1.0

Questo comando restituisce solo i contenitori padre del percorso. Poiché non include parametri per specificare la divisione, Split-Path usa il valore predefinito della posizione divisa, ovvero Parent.

Esempio 4: determina se un percorso è assoluto

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

False

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.

Esempio 5: Modificare la posizione in un percorso specificato

PS C:\> Set-Location (Split-Path -Path $profile)
PS C:\Documents and Settings\User01\My Documents\WindowsPowerShell>

Questo comando modifica il percorso nella cartella che contiene il profilo di 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:\Documents and Settings\User01\My Documents\My Pictures' | Split-Path

C:\Documents and Settings\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.

Type:PSCredential
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters: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.

Type:SwitchParameter
Position:Named
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-IsAbsolute

Indica che questo cmdlet restituisce $True se il percorso è assoluto e $False se è relativo. Un percorso assoluto ha una lunghezza maggiore di zero e non usa un punto (.) per indicare il percorso corrente.

Type:SwitchParameter
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-Leaf

Indica che questo cmdlet restituisce solo l'ultimo elemento o contenitore nel percorso. Ad esempio, nel percorso C:\Test\Logs\Pass1.logrestituisce solo Pass1.log.

Type:SwitchParameter
Position:Named
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters: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.

Type:SwitchParameter
Position:Named
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters: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.

Type:String[]
Aliases:PSPath, LP
Position:Named
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters: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.

Type:SwitchParameter
Position:Named
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-Parent

Indica che questo cmdlet restituisce solo i contenitori padre dell'elemento o del contenitore specificato dal percorso. Ad esempio, nel percorso C:\Test\Logs\Pass1.log, restituisce C:\Test\Logs. Il parametro Parent è il parametro di divisione predefinito della posizione.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters: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.

Type:String[]
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters: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:.

Type:SwitchParameter
Position:1
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-Resolve

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

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters: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.