Powershell Vergleichsoperatoren
Hi@PS Profis,
Das obrige Konstrukt läuft immer auf true auch wenn $_.name "Entry" und das ausgelesene XML Element " <Entry Name="Pfad1">P:\Temp</Entry>" war.
-notlike, -notcontains auch probiert, gleiches Ergebnis.
Mit Wildcards hat das auch noch nicht funktioniert.
Gibt es bei den Wildcards noch was zu beachten?
Gruß vom H41mS1C0r
if ($_.name -notmatch "Entry")
{
}
Das obrige Konstrukt läuft immer auf true auch wenn $_.name "Entry" und das ausgelesene XML Element " <Entry Name="Pfad1">P:\Temp</Entry>" war.
-notlike, -notcontains auch probiert, gleiches Ergebnis.
Mit Wildcards hat das auch noch nicht funktioniert.
<Entry Name="Pfad1">P:\Temp</Entry>
<Entry Name="Pfad2">P:\Temp2</Entry>
<Entry> TestEntry1</Entry>
Gibt es bei den Wildcards noch was zu beachten?
Gruß vom H41mS1C0r
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 291168
Url: https://administrator.de/forum/powershell-vergleichsoperatoren-291168.html
Ausgedruckt am: 16.04.2025 um 15:04 Uhr
2 Kommentare
Neuester Kommentar

Moin,
-match und -notmatch machen Vergleiche mit Regular Expression Syntax ! D.h. das dort Sonderzeichen wie . + * ? \ { } ( ) [ ] etc. pp besondere Bedeutung haben
Regular Expressions Tutorial
Hier gelten also keine normalen Wildcards sondern eben die RegEx Syntax. Nur die Like-Operatoren arbeiten hier mit den allgemein gültigen Wildcards wie *
Ein simples Entry als RegEx Pattern bedeutet finde den String Entry egal wo im String. Möchtest du mit -match z.B. erreichen das ein String komplett von Anfang bis Ende gematched wird sieht der RegEx Pattern so aus ^Entry$.
Regular Expressions hier jetzt im Detail zu erklären würde den Rahmen hier absolut sprengen, also ließ dir dazu das oben verlinkte RegEx Tutorial durch.
Liest du auch in der Doku zu den Vergleichsoperatoren.
Gruß jodel32
-match und -notmatch machen Vergleiche mit Regular Expression Syntax ! D.h. das dort Sonderzeichen wie . + * ? \ { } ( ) [ ] etc. pp besondere Bedeutung haben
Regular Expressions Tutorial
Hier gelten also keine normalen Wildcards sondern eben die RegEx Syntax. Nur die Like-Operatoren arbeiten hier mit den allgemein gültigen Wildcards wie *
Ein simples Entry als RegEx Pattern bedeutet finde den String Entry egal wo im String. Möchtest du mit -match z.B. erreichen das ein String komplett von Anfang bis Ende gematched wird sieht der RegEx Pattern so aus ^Entry$.
Regular Expressions hier jetzt im Detail zu erklären würde den Rahmen hier absolut sprengen, also ließ dir dazu das oben verlinkte RegEx Tutorial durch.
Liest du auch in der Doku zu den Vergleichsoperatoren.
-Match
Description: Matches a string using regular expressions.
When the input is scalar, it populates the
$Matches automatic variable.
Gruß jodel32