Condividi tramite


Resolve-Path

Risolve i caratteri jolly in un percorso e visualizza il contenuto del percorso.

Sintassi

Path (impostazione predefinita).

Resolve-Path
    [-Path] <string[]>
    [-Relative]
    [-RelativeBasePath <string>]
    [-Credential <pscredential>]
    [-Force]
    [<CommonParameters>]

LiteralPath

Resolve-Path
    -LiteralPath <string[]>
    [-Relative]
    [-RelativeBasePath <string>]
    [-Credential <pscredential>]
    [-Force]
    [<CommonParameters>]

Descrizione

Il cmdlet Resolve-Path visualizza gli elementi e i contenitori che corrispondono al modello con caratteri jolly nella posizione specificata. La corrispondenza può includere file, cartelle, chiavi del Registro di sistema o qualsiasi altro oggetto accessibile da un provider di PSDrive.

Esempio

Esempio 1: Risolvere il percorso della cartella home

Il carattere tilde (~) è la notazione abbreviata per la home cartella dell'utente corrente. Questo esempio mostra Resolve-Path che restituisce il valore di percorso completo.

Resolve-Path ~
Path
----
C:\Users\User01

Esempio 2: Risolvere il percorso della cartella di Windows

Resolve-Path -Path "windows"
Path
----
C:\Windows

Quando viene eseguito dalla radice dell'unità C:, questo comando restituisce il percorso della cartella Windows nell'unità C:.

Esempio 3: Ottenere tutti i percorsi nella cartella Windows

"C:\windows\*" | Resolve-Path

Questo comando restituisce tutti i file e le cartelle nella cartella C:\Windows. Il comando usa un operatore pipeline (|) per inviare una stringa di percorso a Resolve-Path.

Esempio 4: Risolvere un percorso UNC

Resolve-Path -Path "\\Server01\public"

Questo comando risolve un percorso UNC (Universal Naming Convention) e restituisce le condivisioni nel percorso.

Esempio 5: Ottenere percorsi relativi

Resolve-Path -Path "C:\prog*" -Relative
.\Program Files
.\Program Files (x86)
.\programs.txt

Questo comando restituisce percorsi relativi per le directory nella radice dell'unità C:.

Esempio 6: Risolvere un percorso contenente parentesi quadre

In questo esempio viene utilizzato il parametro LiteralPath per risolvere il percorso della sottocartella Test[xml]. L'uso di LiteralPath fa sì che le parentesi quadre vengano considerate come caratteri normali anziché come espressione regolare.

Resolve-Path -LiteralPath 'test[xml]'

Esempio 7: Risolvere un percorso relativo a un'altra cartella

In questo esempio viene utilizzato il parametro RelativeBasePath per risolvere il percorso del file eseguibile pwsh relativo a $Env:TEMP. Quando il comando include il parametro switch relativo, restituisce un string che rappresenta il percorso relativo da $Env:TEMP all'eseguibile pwsh.

$ExecutablePath = Get-Command -Name pwsh | Select-Object -ExpandProperty Source
Resolve-Path -Path $ExecutablePath -RelativeBasePath $Env:TEMP -Relative
..\..\..\..\..\Program Files\PowerShell\7\pwsh.exe

Esempio 8: Risolvere i percorsi per gli elementi nascosti

Per impostazione predefinita, Resolve-Path non restituisce elementi nascosti. In questo esempio viene usato il parametro Force per risolvere gli elementi nascosti. Il comando Get-Item conferma che la cartella .git è nascosta. L'utilizzo di Resolve-Path senza il parametro Force restituisce solo gli elementi visibili. L'aggiunta del parametro Force restituisce tutti gli elementi, inclusi gli elementi nascosti.

PS> Get-Item .git -Force

    Directory: D:\Git\PS-Docs\PowerShell-Docs

Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
d--h-           9/25/2024  4:46 PM                .git

PS> Resolve-Path .git*

Path
----
D:\Git\PS-Docs\PowerShell-Docs\.github
D:\Git\PS-Docs\PowerShell-Docs\.gitattributes
D:\Git\PS-Docs\PowerShell-Docs\.gitignore

PS> Resolve-Path .git* -Force

Path
----
D:\Git\PS-Docs\PowerShell-Docs\.git
D:\Git\PS-Docs\PowerShell-Docs\.github
D:\Git\PS-Docs\PowerShell-Docs\.gitattributes
D:\Git\PS-Docs\PowerShell-Docs\.gitignore

Parametri

-Credential

Specifica un account utente autorizzato a eseguire questa azione. Il valore predefinito è l'utente corrente.

Digitare un nome utente, ad esempio User01 o Domain01\User01oppure passare un oggetto PSCredential. È possibile creare un oggetto PSCredential usando il cmdlet Get-Credential. Se si digita un nome utente, questo cmdlet richiede una password.

Questo parametro non è supportato da alcun provider installato con PowerShell.

Proprietà dei parametri

Tipo:PSCredential
Valore predefinito:None
Supporta i caratteri jolly:False
DontShow:False

Set di parametri

(All)
Posizione:Named
Obbligatorio:False
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:True
Valore dagli argomenti rimanenti:False

-Force

Consente al cmdlet di ottenere elementi a cui altrimenti non è possibile accedere dall'utente, ad esempio file nascosti o di sistema. Il parametro Force non sostituisce le restrizioni di sicurezza. L'implementazione varia tra i provider. Per altre informazioni, consultare about_Providers.

Questo parametro è stato aggiunto in PowerShell 7.5-preview.5.

Proprietà dei parametri

Tipo:SwitchParameter
Valore predefinito:False
Supporta i caratteri jolly:False
DontShow:False

Set di parametri

(All)
Posizione:Named
Obbligatorio:False
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti:False

-LiteralPath

Specifica il percorso da risolvere. Il valore del parametro LiteralPath viene usato esattamente come tipizzato. Nessun carattere è interpretato come un 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.

Proprietà dei parametri

Tipo:

String[]

Valore predefinito:None
Supporta i caratteri jolly:False
DontShow:False
Alias:PSPath, UP

Set di parametri

LiteralPath
Posizione:Named
Obbligatorio:True
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:True
Valore dagli argomenti rimanenti:False

-Path

Specifica il percorso di PowerShell da risolvere. Questo parametro è obbligatorio. È anche possibile inviare tramite pipe una stringa di percorso a Resolve-Path. Sono consentiti caratteri jolly.

Proprietà dei parametri

Tipo:

String[]

Valore predefinito:None
Supporta i caratteri jolly:True
DontShow:False

Set di parametri

Path
Posizione:0
Obbligatorio:True
Valore dalla pipeline:True
Valore dalla pipeline in base al nome della proprietà:True
Valore dagli argomenti rimanenti:False

-Relative

Indica che questo cmdlet restituisce un percorso relativo.

Proprietà dei parametri

Tipo:SwitchParameter
Valore predefinito:False
Supporta i caratteri jolly:False
DontShow:False

Set di parametri

Path
Posizione:Named
Obbligatorio:False
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti:False
LiteralPath
Posizione:Named
Obbligatorio:False
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti:False

-RelativeBasePath

Specifica un percorso da cui risolvere il percorso relativo. Quando si usa questo parametro, il cmdlet restituisce il oggetto System.Management.Automation.PathInfo per il percorso risolto.

Quando si usa questo parametro con il parametro switch relativo relativo, il cmdlet restituisce una stringa che rappresenta il percorso relativo da RelativeBasePath a Path.

Questo parametro è stato aggiunto in PowerShell 7.4.

Proprietà dei parametri

Tipo:String
Valore predefinito:None
Supporta i caratteri jolly:False
DontShow:False

Set di parametri

(All)
Posizione:Named
Obbligatorio:False
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti:False

CommonParameters

Questo cmdlet supporta i parametri comuni: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction e -WarningVariable. Per altre informazioni, vedi about_CommonParameters.

Input

String

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

Output

PathInfo

Per impostazione predefinita, questo cmdlet restituisce un oggetto PathInfo.

String

Se si specifica il parametro relativo, questo cmdlet restituisce un valore stringa per il percorso risolto.

Note

PowerShell include gli alias seguenti per Resolve-Path:

  • Tutte le piattaforme:
    • rvpa

I cmdlet *-Path funzionano con i provider di FileSystem, Registrye Certificate.

Resolve-Path è progettato per lavorare con qualsiasi provider. Per elencare i provider disponibili nella sessione, digitare Get-PSProvider. Per altre informazioni, consultare about_Providers.

Resolve-Path risolve solo i percorsi esistenti. Non può essere usato per risolvere un percorso che non esiste ancora.