Eigenheiten von FINDSTR
ich habe ein problemchen mit dem FINDSTR. gibt es ne möglichkeit eine längere zeichenfolge zu vergleichen, die sonderzeichen enthält??
mein script soweit:
set "von=pref("mailnews.database.global.indexer.enabled", true);"
set "wo=c:\test\all-thunderbird.js"
findstr /C:"von" "%wo%"&& goto exit
kann es sein, dass ich was falsch mache mit der behandlung der anführungszeichen???
Bastla gab mir folgendes beispiel:
Versuch es mit folgender Schreibweise:
set "von=pref(\"mailnews\.database\.global\.indexer\.enabled\", true);"
kommt FINDSTR nicht mit sonderzeichen klar?? ich habe jetzt die sonderzeichen (" mit . ersetzt. das läuft soweit. sieht aber komisch aus.
bitte um weitere vorschläge.
Danke
mein script soweit:
set "von=pref("mailnews.database.global.indexer.enabled", true);"
set "wo=c:\test\all-thunderbird.js"
findstr /C:"von" "%wo%"&& goto exit
kann es sein, dass ich was falsch mache mit der behandlung der anführungszeichen???
Bastla gab mir folgendes beispiel:
Versuch es mit folgender Schreibweise:
set "von=pref(\"mailnews\.database\.global\.indexer\.enabled\", true);"
kommt FINDSTR nicht mit sonderzeichen klar?? ich habe jetzt die sonderzeichen (" mit . ersetzt. das läuft soweit. sieht aber komisch aus.
bitte um weitere vorschläge.
Danke
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 142533
Url: https://administrator.de/contentid/142533
Ausgedruckt am: 19.11.2024 um 17:11 Uhr
6 Kommentare
Neuester Kommentar
Moin connecthor,
ist ein bisschen schwierig, deinen Fehler einzugrenzen ohne weitere Details..
Ein proof-of-concept von bastlas Vorschlägen am CMD-Prompt führt jedenfalls - wie zu erwarten war - zum Erfolg.
[ in der Datei "d:\temp\testprefs.txt" steht eine Copy & Paste-Kopie deines Beitrags; dein Suchstring wird in Zeile 5 gefunden]
Also bitte poste noch einmal
es sei denn, du hast Recht und deine FindStr.exe ist kaputt....
Grüße
Biber
ist ein bisschen schwierig, deinen Fehler einzugrenzen ohne weitere Details..
Ein proof-of-concept von bastlas Vorschlägen am CMD-Prompt führt jedenfalls - wie zu erwarten war - zum Erfolg.
>set "wo=d:\temp\testprefs.txt"
>set "von=pref(\"mailnews.database.global.indexer.enabled\", true);"
>findstr /n /C:"%von%" "%wo%"
5:set "von=pref("mailnews.database.global.indexer.enabled", true);"
Also bitte poste noch einmal
- deinen Komplett-Batch in Code-Tags
- und die Original-zu-findende-Suchzeile aus der c:\test\all-thunderbird.js [+je zwei Zeilen davor/danach] ebenfalls in Code-Tags
es sei denn, du hast Recht und deine FindStr.exe ist kaputt....
Grüße
Biber
Hallo connecthor!
Du kannst Dich also nicht zu
entschließen?
Außerdem zu beachten: Wenn im Suchstring Leerzeichen enthalten sind, benötigst Du "/c:", da ansonsten die durch die Leerzeichen getrennten Bestandteile jeweils als eigener (mit "oder" verknüpfter) Suchbegriff gelten ...
Grüße
bastla
Du kannst Dich also nicht zu
set "von=pref(\"mailnews\.database\.global\.indexer\.enabled\", true);"
welche sonderzeichen muss ich denn durch wildcards ersetzen?
Eigentlich keine - es gibt nur einige Zeichen (findest Du am Ende der Onlinehilfe "findstr /?
"), die innerhalb von Suchstrings besondere Bedeutung haben und deshalb mit "\" maskiert werden müssen.Außerdem zu beachten: Wenn im Suchstring Leerzeichen enthalten sind, benötigst Du "/c:", da ansonsten die durch die Leerzeichen getrennten Bestandteile jeweils als eigener (mit "oder" verknüpfter) Suchbegriff gelten ...
Grüße
bastla