Findstr: nach langem String in Txt-File suchen
OS = WIN10 Pro
Hallo @ all
aktuell versuche ich mittels Batch in einem Text-File nach einer Zeichenfolge zu suchen und dann den Errorlevel zu verarbeiten.
Das Format des Text-Files ist
(Auszug)
Ich lese dies Textfile mittels For / F aus:
Nun möchte ich mittels findstr den String in %variakurz% in der Durchsuchliste.txt finden.
Wenn %ERRORLEVEL% gleich 0 ist dann soll nichts geschehen, wenn ungleich 0 dann echo !variakurz! >> %nichtvorhandenliste% geschrieben werden.
Ich habe mittlerweile die Parameter /I /r getestet auch /C:Zeichenfolge erbringt mir kein Ergebniss
Auf der commandline erhalte ich bei nur einem Wort suche schon Fehlermeldungen:
Was mache ich hier falsch? und geht es denn überhaupt nach längerem String mit Leerzeichen und "-" zu suchen?
Neuer Zwischenstand:
Ddie Findstr-Abfrage happert weiters.
Syntax:
Wenn in der Varibalen !vari! durch die Forschleife der Wert gesetzt wird:
gibt findstr den %errorlevel%=0" aus da das Wort Maoli öfters in der durchsuchliste.txt vorhanden ist.
Jetzt habe ich noch das mit dem ERRORLEVEL getestet (ERRORLEVELhandling
aber weder:
f
noch
bringt mich ans Ziel meiner Wünsche.
Wie komme ich zu einem wirklich stringmässigem Suchergebnis?
Danke für Eure Hilfe im voraus.
Heinze
Hallo @ all
aktuell versuche ich mittels Batch in einem Text-File nach einer Zeichenfolge zu suchen und dann den Errorlevel zu verarbeiten.
Das Format des Text-Files ist
(Auszug)
.
Bo Napoleon - Born and Raised Hawaiian (feat. Kapena DeLima)
Maoli - Mercy
Shar Carillo - Sweeter Than Honey
The Green - My Hawaii
JOCK - V/T
.
Ich lese dies Textfile mittels For / F aus:
@echo on &setlocal EnableDelayedExpansion
set "source=G:\textfile.txt"
set "durchsuchliste"=G:\durchsuchliste.txt"
set "nichtvorhandenliste=NichtVorhandenlistenixdrin"
set "varia=xxx"
set "variakurz=inVariakurtzisnix"
for /f "tokens=1,* delims=^(^" %%i in (%source%) do (
set "varia=%%i"
:: leider bringe ich es nicht zusammen gleich die Variable %varia" mittels ~0,-1 zu kürzen darum der Umweg in der nächsten Zeile
set variakurz=!varia:~0,-1!
Nun möchte ich mittels findstr den String in %variakurz% in der Durchsuchliste.txt finden.
Wenn %ERRORLEVEL% gleich 0 ist dann soll nichts geschehen, wenn ungleich 0 dann echo !variakurz! >> %nichtvorhandenliste% geschrieben werden.
Ich habe mittlerweile die Parameter /I /r getestet auch /C:Zeichenfolge erbringt mir kein Ergebniss
Auf der commandline erhalte ich bei nur einem Wort suche schon Fehlermeldungen:
C:\Windows\System32>findstr /C:Hawaiian %varia%
FINDSTR: Bo kann nicht geöffnet werden.
FINDSTR: Napoleon kann nicht geöffnet werden.
FINDSTR: - kann nicht geöffnet werden.
FINDSTR: Born kann nicht geöffnet werden.
FINDSTR: and kann nicht geöffnet werden.
FINDSTR: Raised kann nicht geöffnet werden.
FINDSTR: Hawaiian kann nicht geöffnet werden.
C:\Windows\System32>echo %varia%
Bo Napoleon - Born and Raised Hawaiian
Was mache ich hier falsch? und geht es denn überhaupt nach längerem String mit Leerzeichen und "-" zu suchen?
Neuer Zwischenstand:
Ddie Findstr-Abfrage happert weiters.
Syntax:
findstr /X /N /C:!varia! G:\KCCNvergleich\tempdaten\vergleichzeile2fehlt.txt
Wenn in der Varibalen !vari! durch die Forschleife der Wert gesetzt wird:
set varia="Maoli - Mercy"
gibt findstr den %errorlevel%=0" aus da das Wort Maoli öfters in der durchsuchliste.txt vorhanden ist.
Jetzt habe ich noch das mit dem ERRORLEVEL getestet (ERRORLEVELhandling
aber weder:
f
indstr /L /C:!varia! %vergleichseite%
If "errorlevel"== 0 echo !varia!>> %ziel%
If NOT ERRORLEVEL 0 (bzw 1) echo !varia!>> %ziel%
bringt mich ans Ziel meiner Wünsche.
Wie komme ich zu einem wirklich stringmässigem Suchergebnis?
Danke für Eure Hilfe im voraus.
Heinze
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 574947
Url: https://administrator.de/contentid/574947
Ausgedruckt am: 22.11.2024 um 14:11 Uhr
1 Kommentar