Batch Bestimmte Wörter einer Textdatei in neue Textdatei schreiben

Vogel890

Cadet 4th Year
Registriert
Sep. 2014
Beiträge
77
Guten Morgen!

Ich möchte mit einem Programm auf bestimmte Inhalte einer Textdatei zugreifen, um diese anzuzeigen.

Die Textdatei stammt von einem Fax und enthält z.B. folgenden Text:

-Einsatzfax-
Ereignis: Brand
Ort: Wuppertal, Hauptstraße 3

Alarmierte Kräfte:

Wache A Fahrzeug 1
Wache B Fahrzeug 1
Wache B Fahrzeug 2

------

Nun soll mittels einer Batch Datei mit der findstr Funktion, das was hinter Ereignis: und Ort: steht, sowie die Fahrzeuge von "Wache B" in eine neue Textdatei kopiert werden.
Laut anderen Threads die man so im Netz findet sollte das funktionieren.
Meine Versuche sind bisher alle gescheitert.

Kann jemand helfen?

Mfg Vogel
 
Guten Morgen Vogel,

poste doch mal, was du schon hast. Eventuell ist es nur ein kleiner Fehler.
 
Das habe ich aus dem Netz entnommen und für mich angepasst.
Nur erstmal für die Suche nach Ereignis:

Habe eine Datei erstellt infoliste.txt mit dem Inhalt


Dann die .bat

for /f "tokens=1* delims=:" %i in ('findstr /b /g:infoliste.txt fax.txt') do echo %j>>faxinfos.txt


Die fax.txt enthält den ursprünglichen Text und in der faxinfos.txt soll mein Ergebnis gespeichert werden.
 
Hi,
vielleicht hilft dir diese Hilfestellung.
 
Entilzha schrieb:
Hi,
vielleicht hilft dir diese Hilfestellung.

Das verwirrt mich leider nur noch mehr :(

Ich habe gerade festgestellt, dass es funktioniert wenn ich
die cmd.exe öffne, dann in mein Verzeichnis wechsle mit cd und anschließend
meinen Befehl eingebe.
Fehlt da etwa was im meiner Batch Datei?
 
Hi,
folgendes kannst du in der cmd box versuchen, einfach so eintippen:
Code:
findstr "Ort:" fax.txt>faxinfo.txt &  findstr /c:"Wache B" fax.txt>>faxinfo.txt
 
Da gibt er leider zu viel aus. Also das "Ort:" steht in der ausgegebenen
Datei noch davor und er kopiert alle Fahrzeuge, also auch von "Wache A"

Aber ich verstehe trotzdem nicht warum mein code in der Eingabeaufforderung funktioniert und als Batch Datei nicht...

EDIT: Ich hab meinen Fehler gefunden. %%i statt %i :freak:
 
Zuletzt bearbeitet:
Hi,
vielleicht kann dir das weiter helfen:
Code:
@echo off 
cls
:: hier die Ausgabedatei eintragen:
set "faxinfo=faxinfo.txt"

echo --Ausgabe-1------>%faxinfo%
findstr /c:"Ort:" /c:"Wache B" fax.txt>>%faxinfo%

echo --Ausgabe-2------>>%faxinfo%
for /f "tokens=2* delims=: " %%i in ('findstr "Ort:" fax.txt') do echo %%i %%j>>%faxinfo%
for /f "tokens=3* delims= " %%j in ('findstr /c:"Wache B" fax.txt') do echo %%j %%k>>%faxinfo%
es gibt viele Wege die nach Rom führen ;)
 
Ich habe eine wesentliche Sache vergessen, die meine funktionierende Batch zunichte macht
-> die fax.txt enthält keine Absätze, sondern ist durch die Texterkennungssoftware einfach hintereinander
weg geschrieben.
Bei deinem Script gibt er mir auch den kompletten Inhalt der fax.txt aus :-(

Tut mir leid, das war mir komplett entfallen

EDIT: es funktioniert nun. Danke für eure Hilfe.
 
Zuletzt bearbeitet:
Zurück
Oben