Determina se esistono o meno tutti gli elementi di un percorso.

Sintassi

Test-Path [-LiteralPath] <string[]> [-Credential <PSCredential>] [-Exclude <string[]>] [-Filter <string>] [-Include <string[]>] [-IsValid] [-PathType {<Any> | <Container> | <Leaf>}] [-UseTransaction] [<CommonParameters>]

Test-Path [-Path] <string[]> [-Credential <PSCredential>] [-Exclude <string[]>] [-Filter <string>] [-Include <string[]>] [-IsValid] [-PathType {<Any> | <Container> | <Leaf>}] [-UseTransaction] [<CommonParameters>]

Descrizione

Il cmdlet Test-Path determina se esistono o meno tutti gli elementi del percorso. Restituisce "TRUE" ($true) se tutti gli elementi esistono e "FALSE" ($false) se alcuni sono mancanti. Può inoltre indicare se la sintassi del percorso è valida e se il percorso porta a un contenitore o a un elemento terminale (leaf).

Parametri

-Credential <PSCredential>

Specifica un account utente con autorizzazione per l'esecuzione di questa azione. Il valore predefinito è l'utente corrente.

Digitare un nome utente, ad esempio "Utente01" o "Dominio01\Utente01". In alternativa, immettere un oggetto PSCredential, ad esempio quello generato dal cmdlet Get-Credential. Se si digita un nome utente, viene richiesta una password.

Questo parametro non è supportato dai provider installati con Windows PowerShell.

Obbligatorio?

false

Posizione?

named

Valore predefinito

Accettare input da pipeline?

true (ByPropertyName)

Accettare caratteri jolly?

false

-Exclude <string[]>

Omette gli elementi specificati. Il valore di questo parametro qualifica il parametro Path. Immettere un criterio o un elemento del percorso, ad esempio "*.txt". È consentito l'utilizzo di caratteri jolly.

Obbligatorio?

false

Posizione?

named

Valore predefinito

Accettare input da pipeline?

false

Accettare caratteri jolly?

false

-Filter <string>

Specifica un filtro nel formato o nel linguaggio del provider. Il valore di questo parametro qualifica il parametro Path. La sintassi del filtro, incluso l'utilizzo dei caratteri jolly, dipende dal provider. I filtri sono più efficienti rispetto ad altri parametri, perché il provider li applica al momento del recupero degli oggetti, anziché utilizzare Windows PowerShell per filtrare gli oggetti dopo il recupero.

Obbligatorio?

false

Posizione?

named

Valore predefinito

Accettare input da pipeline?

false

Accettare caratteri jolly?

false

-Include <string[]>

Sottopone a test solo i percorsi specificati. Il valore di questo parametro qualifica il parametro Path. Immettere un criterio o un elemento del percorso, ad esempio "*.txt". È consentito l'utilizzo di caratteri jolly.

Obbligatorio?

false

Posizione?

named

Valore predefinito

Accettare input da pipeline?

false

Accettare caratteri jolly?

false

-IsValid

Determina se la sintassi del percorso è corretta, indipendentemente dal fatto che gli elementi del percorso esistano o meno. Questo parametro restituisce TRUE se la sintassi del percorso è valida, FALSE se non lo è.

Obbligatorio?

false

Posizione?

named

Valore predefinito

Accettare input da pipeline?

false

Accettare caratteri jolly?

false

-LiteralPath <string[]>

Specifica un percorso da sottoporre a test. A differenza di Path, il valore del parametro LiteralPath viene utilizzato così come viene digitato. Nessun carattere viene interpretato come carattere jolly. Se il percorso include caratteri di escape, è necessario racchiuderli tra virgolette singole tramite le quali si comunica a Windows PowerShell di non interpretare alcun carattere come sequenza di escape.

Obbligatorio?

true

Posizione?

1

Valore predefinito

Accettare input da pipeline?

true (ByPropertyName)

Accettare caratteri jolly?

false

-Path <string[]>

Specifica un percorso da sottoporre a test. È consentito l'utilizzo di caratteri jolly. Se il percorso include spazi, è necessario racchiuderlo tra virgolette doppie. Il nome del parametro ("Path") è facoltativo.

Obbligatorio?

true

Posizione?

1

Valore predefinito

Accettare input da pipeline?

true (ByValue, ByPropertyName)

Accettare caratteri jolly?

false

-PathType <TestPathType>

Indica se l'elemento finale nel percorso è di un determinato tipo. Questo parametro restituisce TRUE se l'elemento è del tipo specificato e FALSE se non lo è.

I valori validi sono:

-- Container: elemento che contiene altri elementi, ad esempio una directory o una chiave del Registro di sistema.

-- Leaf: elemento che non contiene altri elementi, ad esempio un file.

-- Any: contenitore o foglia. Indica se l'elemento finale nel percorso è di un determinato tipo. Restituisce TRUE se l'elemento è del tipo specificato e FALSE se non lo è.

Obbligatorio?

false

Posizione?

named

Valore predefinito

Accettare input da pipeline?

false

Accettare caratteri jolly?

false

-UseTransaction

Include il comando nella transazione attiva. Questo parametro è valido solo quando è in corso una transazione. Per ulteriori informazioni, vedere about_Transactions.

Obbligatorio?

false

Posizione?

named

Valore predefinito

Accettare input da pipeline?

false

Accettare caratteri jolly?

false

<CommonParameters>

Questo cmdlet supporta i parametri comuni -Verbose, -Debug, -ErrorAction, -ErrorVariable, -OutBuffer e -OutVariable. Per ulteriori informazioni, vedere about_Commonparameters.

Input e output

Il tipo di input è il tipo degli oggetti che è possibile reindirizzare al cmdlet. Il tipo restituito è il tipo degli oggetti restituiti dal cmdlet.

Input

System.String

È possibile reindirizzare una stringa che contiene un percorso (ma non un percorso letterale) a Test-Path.

Output

System.Boolean

Il cmdlet restituisce "True" quando il percorso esiste e "False" in caso contrario.

Note

I cmdlet che contengono il sostantivo Path (cmdlet Path) modificano i nomi dei percorsi e restituiscono i nomi in un formato conciso che può essere interpretato da tutti i provider di Windows PowerShell. Sono progettati per essere utilizzati in programmi e script in cui si intende visualizzare un nome di percorso, completo o parziale, in un determinato formato. Utilizzare questi cmdlet in modo analogo a Dirname, Normpath, Realpath, Join o altri modificatori di percorso.

È possibile utilizzare i cmdlet Path con diversi provider, inclusi FileSystem, Registry e Certificate.

Il cmdlet Test-Path è progettato per l'utilizzo di dati esposti da qualsiasi provider. Per elencare i provider disponibili nella sessione, digitare "Get-PSProvider". Per ulteriori informazioni, vedere about_Providers.

Esempio 1

C:\PS>test-path -path "C:\Documents and Settings\NicoleH"

Descrizione
-----------
Questo comando comunica se esistono tutti gli elementi nel percorso, ovvero le directory C:, Documents and Settings e NicoleH. Se alcuni sono mancanti, il cmdlet restituisce FALSE. In caso contrario, restituisce TRUE.






Esempio 2

C:\PS>test-path -path $profile

C:\PS>test-path -path $profile -IsValid

Descrizione
-----------
Tramite questi comandi viene sottoposto a test il percorso del profilo di Windows PowerShell. 

Il primo comando determina se esistono o meno tutti gli elementi del percorso. Il secondo comando determina se la sintassi del percorso è corretta. In questo caso, il percorso è FALSE, ma la sintassi è corretta (TRUE). Questi comandi utilizzano $profile, la variabile automatica che fa riferimento al percorso del profilo, anche se il profilo non esiste.

Per ulteriori informazioni sulle variabili automatiche, vedere about_Automatic_Variables.






Esempio 3

C:\PS>test-path -path "C:\CAD\Commercial Buildings\*" -exclude *.dwg

Descrizione
-----------
Questo comando indica se nella directory Commercial Buildings sono presenti file con estensione diversa da dwg. 

Il comando utilizza il parametro Path per specificare il percorso. Poiché include uno spazio, il percorso viene racchiuso tra virgolette. L'asterisco al termine del percorso indica il contenuto della directory Commercial Building. Con percorsi lunghi come questo, digitare le prime lettere del percorso, quindi utilizzare il tasto TAB per completare il percorso.

Il comando utilizza il parametro Exclude per specificare i file che verranno omessi dalla valutazione. 

In questo caso, poiché la directory contiene solo file con estensione dwg, il risultato sarà FALSE.






Esempio 4

C:\PS>test-path -path $profile -pathtype leaf

Descrizione
-----------
Questo comando indica se il percorso archiviato nella variabile $profile porta a un file. In questo caso, poiché il profilo di Windows PowerShell è un file con estensione ps1, il cmdlet restituirà TRUE.






Esempio 5

C:\PS>test-path -path HKLM:\Software\Microsoft\PowerShell\1\ShellIds\Microsoft.PowerShell

TRUE

C:\PS> test-path -path HKLM:\Software\Microsoft\PowerShell\1\ShellIds\Microsoft.PowerShell\ExecutionPolicy
FALSE

Descrizione
-----------
Questi comandi utilizzano il cmdlet Test-Path con il provider del Registro di sistema di Windows PowerShell. 

Il primo comando verifica se il percorso della chiave del Registro di sistema Microsoft.PowerShell è corretto nel sistema. Se Windows PowerShell viene installato correttamente, il cmdlet restituisce TRUE.

Test-Path non funziona correttamente con tutti i provider di Windows PowerShell. Ad esempio, è possibile utilizzare Test-Path per verificare il percorso di una chiave del Registro di sistema, ma se lo si utilizza per verificare il percorso di una voce del Registro di sistema, restituirà sempre FALSE, anche se la voce del Registro di sistema è presente.






Vedere anche




Argomenti della Guida