127103
Goto Top

Powershell - Select-String -pattern -Pfadangabe

Hallo liebes Forum,

hänge grad an folgendem Problem:

Ich möchte mit Select-String eine Log-Datei nach einem Pfad durchsuchen.
Select-String -path C:\Users\User\test.log -pattern "C:\Users\User\TEST\TRACK28.MPG"  

Es ist für mich ersichtlich dass, das einen Fehler erzeugt da die Slashes als reguläre Ausdrücker erkannt werden. (Oder?)
.\
Sollte abhilfe schaffen, funktioniert aber nur wenn ich NUR nach dem Dateinamen suche...

Folgendes funktioniert:
Select-String -path C:\Users\User\test.log -pattern ".\\TRACK28.MPG"  

Der Code gibt mir aber natürlich zwei Zeilen aus, da die Datei zweimal, in unterschiedlichen Pfaden, existiert.

Jegliche Variationen mit mehrfachen ".\" bringen weder error noch werden Zeilen ausgegeben.
Select-String -path C:\Users\User\test.log -pattern ".\\Users.\\User.\\TEST.\\TRACK28.MPG"  

Würde mich über Hilfe freuen, steh grad auf'm Schlauch.

Danke & Gruß

P.S.
hier Exemplarisch teile der Log Datei

08.02.2016 11:17 | ORIGINAL;C:\Users\User\TESTVIDEO\TRACK28.MPG;15277892
08.02.2016 11:17 | ORIGINAL;C:\Users\User\Videos\_____test äöüßdndre\--- Berg & Tal 676 --\TRACK28 - Kopie.MPG;18937955
08.02.2016 11:17 | ORIGINAL;C:\Users\User\Videos\_____test äöüßdndre\Bergheims\TRACK63.MPG;20076737
08.02.2016 11:17 | ORIGINAL;C:\Users\User\Videos\_____test äöüßdndre\Hänsel - Straße\TRACK63.MPG;20076737
08.02.2016 11:17 | ORIGINAL;C:\Users\User\Videos\_____test äöüßdndre\Hänsel - Straße\Tränen der liebe & $uposm.MPG;18937955
08.02.2016 11:17 | ORIGINAL;C:\Users\User\Videos\_____test äöüßdndre\TRACK28.MPG;18937955
08.02.2016 11:17 | ORIGINAL;C:\Users\User\Videos\TRACK63.MPG;20076737

Content-Key: 295577

Url: https://administrator.de/contentid/295577

Printed on: April 19, 2024 at 17:04 o'clock

Mitglied: 127103
127103 Feb 08, 2016 at 11:01:17 (UTC)
Goto Top
Ja ok ich war mal wieder vorschnell face-wink

natürlich MUSS man den Backslash ja nur mit einem weiteren Backslash maskieren und nicht mit ".\".

Tja ist halt Montag.

Grüße
Mitglied: 114757
Solution 114757 Feb 08, 2016 updated at 13:41:28 (UTC)
Goto Top
Muss man nicht unbedingt wenn man den NON-Regex Parameter -simplematch verwendet face-wink

Du solltest wissen das hier ohne diesen Parameter mit Regular Expression Syntax gesucht wird, also müsstest du streng genommen auch den Punkt mit einem Backslash maskieren, denn der bedeutet jedes beliebige Zeichen in der Regex-Syntax.

Wie immer mal ab und zu die Doku lesen
https://technet.microsoft.com/de-de/library/hh849903.aspx

Gruß jodel32
Mitglied: 127103
127103 Feb 08, 2016 at 13:41:25 (UTC)
Goto Top
Hi jodel,

hab ich tatsächlich auch noch gefunden -simplematch... wollt es so eben ergänzen...
Ich bin eher so der Typ das ich die Doku überfliege, bzw. nur das lese was ich grad brauche... hatte ich glatt unterschlagen bei dem ganzen "Add-Content -Encoding UTF8" und "replace" gedöns----

face-smile Und sonst so?
Mitglied: 114757
114757 Feb 08, 2016 at 13:57:03 (UTC)
Goto Top
Zitat von @127103:
face-smile Und sonst so?
Wie meinen ?