Bestimmt, ob alle Elemente eines Pfads vorhanden sind.

Syntax

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>]

Beschreibung

Mit dem Cmdlet "Test-Path" wird bestimmt, ob alle Elemente des Pfads vorhanden sind. Es gibt "TRUE" ("$true") zurück, wenn alle Elemente vorhanden sind. Wenn Elemente nicht vorhanden sind, wird "FALSE" ("$false") zurückgegeben. Außerdem kann angegeben werden, ob die Pfadsyntax gültig ist und ob der Pfad zu einem Container oder letzten Element ("leaf") führt.

Parameter

-Credential <PSCredential>

Gibt ein Benutzerkonto an, das über die Berechtigung zum Ausführen dieser Aktion verfügt. Der Standardwert ist der aktuelle Benutzer.

Geben Sie einen Benutzernamen ein, z. B. "User01" oder "Domain01\User01". Oder geben Sie ein PSCredential-Objekt ein, z. B. ein vom Cmdlet "Get-Credential" generiertes Objekt. Wenn Sie einen Benutzernamen eingeben, werden Sie zur Eingabe eines Kennworts aufgefordert.

Dieser Parameter wird nicht von mit Windows PowerShell installierten Anbietern unterstützt.

Erforderlich?

false

Position?

named

Standardwert

Pipelineeingaben akzeptieren?

true (ByPropertyName)

Platzhalterzeichen akzeptieren?

false

-Exclude <string[]>

Lässt die angegebenen Elemente aus. Der Path-Parameter wird durch den Wert dieses Parameters qualifiziert. Geben Sie ein Pfadelement oder -muster wie "*.txt" ein. Platzhalter sind zulässig.

Erforderlich?

false

Position?

named

Standardwert

Pipelineeingaben akzeptieren?

false

Platzhalterzeichen akzeptieren?

false

-Filter <string>

Gibt einen Filter im Format oder in der Sprache des Anbieters an. Der Path-Parameter wird durch den Wert dieses Parameters qualifiziert. Die Syntax des Filters einschließlich der Verwendung von Platzhaltern ist vom Anbieter abhängig. Filter sind effizienter als andere Parameter, da sie beim Abrufen der Objekte vom Anbieter angewendet werden und die Objekte nicht erst nach dem Abrufen von Windows PowerShell gefiltert werden.

Erforderlich?

false

Position?

named

Standardwert

Pipelineeingaben akzeptieren?

false

Platzhalterzeichen akzeptieren?

false

-Include <string[]>

Testet nur die angegebenen Pfade. Der Path-Parameter wird durch den Wert dieses Parameters qualifiziert. Geben Sie ein Pfadelement oder -muster wie "*.txt" ein. Platzhalter sind zulässig.

Erforderlich?

false

Position?

named

Standardwert

Pipelineeingaben akzeptieren?

false

Platzhalterzeichen akzeptieren?

false

-IsValid

Bestimmt, ob die Syntax des Pfads korrekt ist, wobei es keine Rolle spielt, ob die Elemente des Pfads vorhanden sind. Dieser Parameter gibt TRUE zurück, wenn die Pfadsyntax gültig ist, andernfalls FALSE.

Erforderlich?

false

Position?

named

Standardwert

Pipelineeingaben akzeptieren?

false

Platzhalterzeichen akzeptieren?

false

-LiteralPath <string[]>

Gibt den zu testenden Pfad an. Im Gegensatz zu "Path" wird der Wert des LiteralPath-Parameters genau so verwendet, wie er eingegeben wurde. Es werden keine Zeichen als Platzhalter interpretiert. Wenn der Pfad Escapezeichen enthält, müssen Sie ihn in einfache Anführungszeichen einschließen. Einfache Anführungszeichen veranlassen Windows PowerShell, Zeichen nicht als Escapesequenzen zu interpretieren.

Erforderlich?

true

Position?

1

Standardwert

Pipelineeingaben akzeptieren?

true (ByPropertyName)

Platzhalterzeichen akzeptieren?

false

-Path <string[]>

Gibt den zu testenden Pfad an. Platzhalter sind zulässig. Wenn der Pfad Leerzeichen enthält, müssen Sie ihn in Anführungszeichen einschließen. Der Parametername ("Path") ist optional.

Erforderlich?

true

Position?

1

Standardwert

Pipelineeingaben akzeptieren?

true (ByValue, ByPropertyName)

Platzhalterzeichen akzeptieren?

false

-PathType <TestPathType>

Gibt an, ob das letzte Element im Pfad einen bestimmten Typ aufweist. Dieser Parameter gibt TRUE zurück, wenn das Element den angegebenen Typ aufweist, andernfalls FALSE.

Gültige Werte:

– Container: Ein Element, das andere Elemente enthält, beispielsweise ein Verzeichnis oder ein Registrierungsschlüssel.

– Leaf: Ein Element, das keine anderen Elemente enthält, beispielsweise eine Datei.

– Any: Ein Container- oder Leaf-Element. Gibt an, ob das letzte Element im Pfad einen bestimmten Typ aufweist. Gibt TRUE zurück, wenn das Element den angegebenen Typ aufweist, andernfalls FALSE.

Erforderlich?

false

Position?

named

Standardwert

Pipelineeingaben akzeptieren?

false

Platzhalterzeichen akzeptieren?

false

-UseTransaction

Schließt den Befehl in die aktive Transaktion ein. Dieser Parameter ist nur gültig, wenn eine Transaktion ausgeführt wird. Weitere Informationen finden Sie unter "about_Transactions".

Erforderlich?

false

Position?

named

Standardwert

Pipelineeingaben akzeptieren?

false

Platzhalterzeichen akzeptieren?

false

<CommonParameters>

Dieses Cmdlet unterstützt die folgenden allgemeinen Parameter: -Verbose, -Debug, -ErrorAction, -ErrorVariable, -OutBuffer und -OutVariable. Weitere Informationen finden Sie unter about_Commonparameters.

Eingaben und Ausgaben

Der Eingabetyp ist der Typ der Objekte, die über die Pipeline an das Cmdlet übergeben werden können. Der Rückgabetyp ist der Typ der Objekte, die das Cmdlet zurückgibt.

Eingaben

System.String

Sie können eine Zeichenfolge, die einen Pfad (jedoch keinen literalen Pfad) enthält, über die Pipeline an Test-Path übergeben.

Ausgaben

System.Boolean

Das Cmdlet gibt "True" zurück, wenn der Pfad vorhanden ist, und andernfalls "False".

Hinweise

Die Cmdlets, die das Substantiv "Path" enthalten (die Path-Cmdlets), bearbeiten Pfadnamen und geben die Namen in einem präzisen Format zurück, das von allen Windows PowerShell-Anbietern interpretiert werden kann. Diese können in Programmen und Skripts verwendet werden, in denen ein Pfadname vollständig oder teilweise in einem bestimmten Format angezeigt werden soll. Die Verwendung entspricht der von "Dirname", "Normpath", "Realpath", "Join" und anderer Befehle zum Bearbeiten von Pfaden.

Sie können die Pfad-Cmdlets mit verschiedenen Anbietern verwenden, u. a. dem FileSystem-, Registry- und Certificate-Anbieter.

Das Cmdlet "Test-Path" ist für die Verwendung mit Daten konzipiert, die von beliebigen Anbietern verfügbar gemacht werden. Um die in der Sitzung verfügbaren Anbieter aufzuführen, geben Sie "Get-PSProvider" ein. Weitere Informationen finden Sie unter "about_Providers".

Beispiel 1

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

Beschreibung
-----------
Dieser Befehl gibt an, ob alle Elemente im Pfad vorhanden sind, d. h. das Verzeichnis "C:", das Verzeichnis "Documents and Settings" und das Verzeichnis "NicoleH". Wenn ein Element fehlt, gibt das Cmdlet "FALSE" zurück. Andernfalls wird "TRUE" zurückgegeben.






Beispiel 2

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

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

Beschreibung
-----------
Mit diesen Befehlen wird der Pfad zum Windows PowerShell-Profil getestet. 

Mit dem ersten Befehl wird bestimmt, ob alle Elemente im Pfad vorhanden sind. Mit dem zweiten Befehl wird bestimmt, ob die Syntax des Pfads gültig ist. In diesem Fall wird für den Pfad FALSE zurückgegeben, die Syntax hingegen ist gültig (TRUE). Diese Befehle verwenden "$profile", die automatische Variable, die auf den Speicherort für das Profil zeigt, selbst wenn das Profil nicht vorhanden ist.

Weitere Informationen zu automatischen Variablen finden Sie unter "about_Automatic_Variables".






Beispiel 3

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

Beschreibung
-----------
Mit diesem Befehl wird bestimmt, ob im Verzeichnis "Commercial Buildings" neben Dateien mit der Dateinamenerweiterung ".dwg" andere Dateien vorhanden sind. 

Der Befehl gibt den Pfad mit dem Path-Parameter an. Da er Leerzeichen enthält, wird der Pfad in Anführungszeichen eingeschlossen. Das Sternchen am Ende des Pfads gibt den Inhalt des Verzeichnisses "Commercial Building" an. (Bei langen Pfaden wie hier, geben Sie die ersten Buchstaben des Pfads ein, und vervollständigen Sie den Pfad dann mit der TAB-TASTE.)

In diesem Befehl werden mit dem Exclude-Parameter Dateien angegeben, die bei der Auswertung weggelassen werden. 

Da das Verzeichnis in diesem Fall nur DWG-Dateien enthält, lautet das Ergebnis "FALSE".






Beispiel 4

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

Beschreibung
-----------
Mit diesem Befehl wird bestimmt, ob der in der Variablen "$profile" gespeicherte Pfad zu einer Datei führt. Da es sich in diesem Fall bei dem Windows PowerShell-Profil um eine PS1-Datei handelt, gibt das Cmdlet "TRUE" zurück.






Beispiel 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

Beschreibung
-----------
In diesen Befehlen wird das Cmdlet "Test-Path" mit dem Windows PowerShell-Registrierungsanbieter verwendet. 

Mit dem ersten Befehl wird überprüft, ob der Registrierungspfad zum Registrierungsschlüssel "Microsoft.PowerShell" im System richtig ist. Wenn Windows PowerShell ordnungsgemäß installiert wurde, gibt das Cmdlet "TRUE" zurück.

Test-Path funktioniert nicht mit allen Windows PowerShell-Anbietern ordnungsgemäß. Sie können mit Test-Path z. B. den Pfad zu einem Registrierungsschlüssel testen. Wenn Sie damit jedoch den Pfad zu einem Registrierungseintrag testen, wird immer "FALSE" zurückgegeben, auch wenn der Registrierungseintrag vorhanden ist.






Siehe auch




Inhaltsverzeichnis