mue26xxl
Goto Top

Bestimmte Daten aus Logdatei kopieren und in separate Textdatei einfügen

Hallo, ich habe folgendes Problem.

Ich habe eine log.txt in die in unregelmäßigen Abständen Daten geschrieben werden. Die letzte Zeile dieser Textdatei soll nun ausgelesen werden und in eine separate Datei geschrieben werden. Der Inhalt dieser müsste nun wiederum an eine LED-Laufschrift gesendet werden. Die Steuerbefehle dazu muss ich mir noch beim Hersteller organisieren.

Edit: Aufgrund des freundlichen Hinweises das ganze etwas präziser.

Als Betriebssystem wird Windows XP verwendet. Die Sache ist folgende: Ich würde gern in unserer Feuerwehr eine LED-Laufschrift an der Umkleide anbringen, wo sich alle informieren können, welches Einsatzstichwort und welcher Einsatzort angegeben ist. Dazu nutze ich ein Programm, wo ich bei einer Alarmierung eine *.txt geschrieben bekomme, ich welcher sich diese Daten befinden. Die aktuellsten werden immer zeilenweise als letztes eingefügt. Ich möchte nun, daß ich aus dieser Datei die letzte Zeile auslesen kann und in seine separate Datei geschrieben bekomme mit der ich den Text wiederum an die LED-Anzeige sende. Das 2. Problem dabei ist, daß mir die Sonderzeichen nicht genauso angezeigt werden, wie sie von der Rlst übermittelt werden. Bin programmiertechnisch leider völlig unbegabt. Das ganze sollte dann automatisiert ablaufen.

Die Log.bat mit der ich die log.txt erzeuge hat folgende Einträge.

echo %date% %time:~0,8% %* >> log.txt


gestartet wird diese bat direkt in der Software mit 2 Parametern die dann in der log.txt stehen. Wenn ich in der log.bat die 2 Einträge date und time entferne schreibt er mir nur als Ausgabe Echo ist ausgeschaltet.

Content-Key: 93907

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

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

Member: Biber
Biber Aug 07, 2008 at 19:02:20 (UTC)
Goto Top
Moin mue26xxl,

willkommen im Forum.
Überprüfst Du bitte noch mal eben anhand der "FAQ"-Hinweise "Wie man/frau eine Frage richtig stellt" , ob Du alles erzählt hast, was ein/e Antwortwillige/r zum Puzzlen braucht (OS, manuelles/ständiges Anstossen..)?

Mir wär es ja egal, aber manche hier Forum machen immer so spitze Bemerkungen....

Grüße
Biber
Member: bastla
bastla Aug 08, 2008 at 06:36:07 (UTC)
Goto Top
Hallo mue26xxl und auch von mir ein Willkommen!

Die letzte Zeile der Textdatei erhältst Du so:
@echo off & setlocal
set "DateiEin=D:\Deine Textdatei.txt"  
set "DateiAus=D:\Deine Laufschriftdatei.txt"  

for /f "usebackq delims=" %%i in ("%DateiEin%") do set "Zeile=%%i"  
>"%DateiAus%" echo %Zeile%  
Hinsichtlich der Sonderzeichen könnte ein "chcp 1252" am Anfang des Batches helfen.
Dein Problem mit der "Log.bat" kann ich nicht ganz nachvollziehen / einordnen. In welchem Zusammenhang wird dieser Batch ausgeführt?

Grüße
bastla
Member: mue26xxl
mue26xxl Aug 08, 2008 at 10:09:38 (UTC)
Goto Top
Die log.bat wird automatisch ausgeführt, sobald eine bestimmte FMS-Kennung ein Kurztelegramm geschickt bekommt. Die ganze Sache funktioniert soweit ja schon, das ich beim Empfang die log.bat ausgeführt bekomme. Nur stören mich bei der log.bat die Einträge Date und Time. Diese brauche ich nicht wirklich. Nur lösch ich diese, kommt es halt zu der Meldung Echo ist angeschaltet und es wird kein Log geschrieben.
Member: bastla
bastla Aug 08, 2008 at 10:24:37 (UTC)
Goto Top
Hallo mue26xxl!

Einträge Date und Time ... Nur lösch ich diese, kommt es halt zu der Meldung Echo ist angeschaltet und es wird kein Log geschrieben.
Eigentlich wäre dieses Verhalten nur damit zu erklären, dass die "Log.bat" ohne Parameter aufgerufen wurde - allerdings sollte dann die zitierte Meldung in die "log.txt" geschrieben werden.

Grüße
bastla