leknilk0815
Goto Top

Textteile - Strings aus Textdatei entfernen oder ändern - austauschen

Bestehende Textdateien sollen automatisiert bereinigt werden, um sie zur Weiterverarbeitung anzupassen

Servus,

ich suche nach einer Möglichkeit, vorhandene GPS- Koordinaten in z.B. GoogleEarth zu importieren, um damit im Nachhinein eine Reiseroute nachzeichnen zu können.
Ich hatte während der Reise eine Cam an der Scheibe, welche verschiedene Daten, darunter auch die Koordinaten aufzeichnet. Die Datensätze sehen so aus (beinhaltet in einer Text- Datei):
2012/05/22 17:40:23 G-Sensor(-0.13, 0.38,-1.06) N47 44.593 E011 33.605 44km/h
pro Sekunde werden ca. 10 Datensätze erzeugt.
Ich suche nun nach einer Möglichkeit, die Dateien automatisch zu bereinigen. Benötigt werden nur die Koordinaten ("N47 44.593 E011 33.605"), und davon ist auch nur 1 Satz pro Sekunde nötig, man müsste also die "Duplikate" (die restlichen ca. 9 Sätze/s) löschen, ebenso die "unnötigen" Daten wie Uhrzeit, Beschleunigungsdaten und Geschwindigkeit.

Das müsste doch eigentlich mit DOS / Batch- Mitteln zu bewerkstelligen sein?
Falls mir da jemand unter die Arne greifen könnte, wäre ich sehr dankbar, da ich momentan auf dem Schlauch stehe.

P.S.: ...vielleicht liest ja Biber "zufällig" die Zeilen...?

Content-ID: 186173

Url: https://administrator.de/forum/textteile-strings-aus-textdatei-entfernen-oder-aendern-austauschen-186173.html

Ausgedruckt am: 22.12.2024 um 16:12 Uhr

mathe172
mathe172 09.06.2012 aktualisiert um 11:20:26 Uhr
Goto Top
Hallo,

ungetestet würde ich es etwa so machen:
@echo off
for /f "tokens=1* delims=:" %%A in ('findstr /n "^" "Textdatei.txt"') do :Call Processline "%%A" "%%B"  
goto :eof
:Processline
set /a "Check=%~1%%10"  
if "%Check"=="0" (  
for /f "tokens=7-10 delims= ,()" %%A in ("%~2") do (>"Output.txt" echo.%%A %%B %%C %%D)  
goto :eof
Das funktioniert nur, wenn die Datensätze in jeder Zeile stehen.

MfG,
Mathe172
pieh-ejdsch
pieh-ejdsch 09.06.2012, aktualisiert am 11.06.2012 um 15:17:26 Uhr
Goto Top
moin leknilk0815,

da Du ja ca. 10 Datensätze je sekunde hast, kann es sicher mal mehr oder weniger sein.

@echo off
setlocal enabledelayedexpansion

3>"D:\Die zu erzeugende Datei.txt" (  
for /f "usebackq tokens=2,6-9" %%a in ("D:\Die Auszulesende Datei.txt" ) do (  
  if "%%a" neq "!check!" >&3 echo %%b %%c %%d %%e  
  set "check=%%a"  
))

[Edit]Code berichtigt
[/Edit]

Gruß Phil
leknilk0815
leknilk0815 09.06.2012 um 20:05:57 Uhr
Goto Top
Servus zusammen,
vielen Dank mal für die Vorschläge, mal sehen, ob das tut...
Ich kanns leider erst Morgen testen, ich melde mich!
leknilk0815
leknilk0815 11.06.2012 aktualisiert um 14:16:27 Uhr
Goto Top
Servus,

leider funktioniert keine von beiden Vorschlägen, ich weiß auch nicht, wo der Fehler liegen könnte.
Meine Bat (geändert aus Vorschlag 2) sieht so aus:
rem @echo off
setlocal enabledelayedexpansion
>"C:\@tmp\org-log-daten\00002500.LOG" (  
for /f "useback tokens=2,5-8" %%a in   
("C:\@tmp\arbeit\Routen01.txt") do (  
if "%%a" neq "!check!"  
echo %%b %%c %%d %%e
set "check=%%a"  
))
Es wird nichts verarbeitet, die bat geht nur kurz auf und beendet sich wieder.
Die Dateistruktur stimmt, die Dateien liegen da, wo sie vom Script erwartet werden.
Die Datei mit den zu bearbeitenden/löschenden Strings nennt sich "00002500.LOG", die daraus zu erzeugende Datei nenne ich "Routen01.txt".
Sorry wenn ich mich etwas blöd anstelle, aber ich bin schon einige Zeit raus...
...und hier im Forum hat sich auch einiges verändert, ich finde nicht mal die Möglichkeit, eine Beispieldatei hochzuladen oder die Funktionen "[Quote]", "[Script]" etc...
mathe172
mathe172 11.06.2012 um 12:22:39 Uhr
Goto Top
Hallo,

starte die Datei mal aus der Konsole(cmd.exe) heraus, dann wird dir eine Fehlermeldung angezeigt, die dir vielleicht mehr über den Fehler sagt.

MfG,
Mathe172
leknilk0815
leknilk0815 11.06.2012 um 12:29:12 Uhr
Goto Top
...das ging fix... - Danke!

Hier das Ergebnis - Syntaxfehler:
C:\@tmp\bat>vorschlag2.bat

C:\@tmp\bat>rem @echo off

C:\@tmp\bat>setlocal enabledelayedexpansion
Syntaxfehler.
C:\@tmp\bat>for /f "useback tokens=2,5-8" %a in
C:\@tmp\bat>
mathe172
mathe172 11.06.2012 aktualisiert um 13:07:02 Uhr
Goto Top
Hallo,

Die Option useback der for-Schleife dürfte der Fehler sein... Sie heisst usebackq

MfG,
Mathe172
PS: Die Option Dateien hochzuladen gab es meines Wissens nach nie, wäre auch sehr unsicher. um Code einzufügen benutze
< code> (ohne Abstand)
Dein Code hier

Und Zitieren geht über den "Mit Zitat"-Link oder mit einem "> " um die Zitateebene zu erhöhen
[edit: Formatierung gefixt]
leknilk0815
leknilk0815 11.06.2012 aktualisiert um 13:04:32 Uhr
Goto Top
Leider war es das nicht, das fehlende "q" von useback wirkt sich nicht aus.
Hier die bat, wie sie getestet wurde (mit und ohne "q"):
rem @echo off
setlocal EnableDelayedExpansion
>"C:\@tmp\org-log-daten\00002500.LOG" (  
for /f "usebackq tokens=2,5-8" %%a in ("C:\@tmp\arbeit\Routen01.txt") do (  
if "%%a" neq "!check!"  
echo %%b %%c %%d %%e
set "check=%%a"  
))
und hier die zugehörige Fehlermeldung:
C:\@tmp\bat>vorschlag2.bat
C:\@tmp\bat>rem @echo off
C:\@tmp\bat>setlocal EnableDelayedExpansion
Syntaxfehler.
C:\@tmp\bat>if "%a" neq "!check!"  
C:\@tmp\bat>

EDIT:
im obigen Script ist vor "C:\@tmp\org-log-daten\00002500.LOG"
eine spitze Klammer, die da m.E. nicht hingehört.
Nach deren Entfernung öffnet sich nun die Datendatei "00002500.LOG"
und das Script bleibt an folgender Stelle stehen:
C:\@tmp\bat>rem @echo off
C:\@tmp\bat>setlocal EnableDelayedExpansion
C:\@tmp\bat>"C:\@tmp\org-log-daten\00002500.LOG" (  

Beendet man dann die Datendatei "00002500.LOG" läuft das Script weiter und die Bat beendet sich.
Es wird aber keine "Routen01.txt" erzeugt oder sonstige Änderungen vorgenommen.
mathe172
mathe172 11.06.2012 um 13:25:43 Uhr
Goto Top
im obigen Script ist vor "C:\@tmp\org-log-daten\00002500.LOG"
eine spitze Klammer, die da m.E. nicht hingehört.
Das ist eine Ausgabeumleitung. Sie leitet die Ausgabe der for-Schleife (bzw. die der echo´s darin) in die Datei um

Im Code fehlt der "THEN-Befehl" des IF´s. So sollte es klappen:
@echo off
setlocal enabledelayedexpansion

>"C:\@tmp\org-log-daten\00002500.LOG" (  
for /f "useback tokens=2,5-8" %%a in  
("C:\@tmp\arbeit\Routen01.txt") do (  
if "%%a" neq "!check!" (  
echo %%b %%c %%d %%e
set "check=%%a"  
)))
MfG,
Mathe172
leknilk0815
leknilk0815 11.06.2012 um 13:48:10 Uhr
Goto Top
Zitat von @mathe172:
Im Code fehlt der "THEN-Befehl" des IF´s.

Ich finde kein "then" im Script... - vergessen???

Und noch eine Frage:
Wozu wird die Datendatei "00002500.LOG" sichtbar geöffnet?
Das sollte doch im Hintergrund laufen und das Ergebnis dann in der Routen01.txt erscheinen?
pieh-ejdsch
pieh-ejdsch 11.06.2012 aktualisiert um 13:59:49 Uhr
Goto Top
moin,

so wie es aussieht sind die beiden Dateien Vertauscht worden.
Du liest aus einer Datei die nicht Vorhanden ist, also keine Auslösung der Schleife.
Deine Andere ("C:\@tmp\org-log-daten\00002500.LOG") Datei ist nun Leer.

Wie mathe schon bemerkte ist vor der Klammer der Forschleife die Ausgabe. In der Anweisung der Forschleife ist die Auszulesende Datei.

Bitte setze Deine Codezeilen und den Inhalt der TXT zur besseren Lesbarkeit in Codeblöcke.
<code>TEXT</code>

Beispiel berichtigt.

Gruß Phil
leknilk0815
leknilk0815 11.06.2012 aktualisiert um 14:36:01 Uhr
Goto Top
Servus,

tut leider nicht:
rem @echo off
setlocal EnableDelayedExpansion
>"C:\@tmp\arbeit\Routen01.txt" (   
for /f "usebackq tokens=2,5-8" %%a in ("C:\@tmp\org-log-daten\00002500.LOG") do (   
if "%%a" neq "!check!"  
echo %%b %%c %%d %%e
set "check=%%a"  
))
pause
...und "then"??
Hier die Fehlermeldung (Syntax Error)

C:\@tmp\bat>vorschlag3.bat
C:\@tmp\bat>rem @echo off
C:\@tmp\bat>setlocal EnableDelayedExpansion
C:\@tmp\bat>pause
Drücken Sie eine beliebige Taste . . .
Syntaxfehler.
C:\@tmp\bat>>"C:\@tmp\arbeit\Routen01.txt"  
C:\@tmp\bat>

P.S.:
der Syntaxfehler wird durch die Zeile:
>"C:\@tmp\arbeit\Routen01.txt"  
hervorgerufen. Wenn man diesen Befehl alleine eingibt, erscheint ebenso "Syntaxfehler"...
pieh-ejdsch
pieh-ejdsch 11.06.2012 aktualisiert um 15:42:41 Uhr
Goto Top
Du hast den Batch zerpflückt.
Wenn Du etwas Vergleichst muss dahinter auch eine Auszuführende Aktion stehen, nicht erst eine Zeile Später.
Das meinte mathe mit Then.

Wenn LinkeSeite Nicht RechteSeite Dann schreibe Zeile hin.

Du hast über der ersten Zeile den Link: Quelltext stehen und kannst so den Gesamten Quelltext kopieren.
über den Link Drucken kannst Du den Text aber noch bearbeiten dann kopieren und in Deine Batch übertragen.

Wenn Du nun mit dem zusammengewürfeltem Gewusel nicht mehr zurechtkommst, hilft Dir der Schnipsel um den Batch Zeile für Zeile zu schreiben.

@echo off
setlocal disabledelayedexpansion
if "%~1" equ "" echo Syntaxfehler. 1>&2 &exit /b 1  
if not exist "%~1" echo Datei nicht gefunden! 1>&2 & exit /b 2  
if "%~1" equ "/?" echo Schreibt Dateien mit echten Zeilenumbruechen. &echo %~n0 Quelldatei &exit /b 0  
>"%temp%\%~nx1" findstr /n "^" "%~1"  
3>"%~dpn1-CRLF%~x1" (for /f "usebackq delims=" %%i in ("%temp%\%~nx1") do (set "Line=%%i"  
  setlocal enabledelayedexpansion
  >&3 echo(!Line:*:=!
  endlocal
))
del "%temp%\%~nx1"  

Gruß Phil
leknilk0815
leknilk0815 11.06.2012 aktualisiert um 15:07:18 Uhr
Goto Top
Danke, ich hatte da wirklich was "zerpflückt", leider ist mir das nicht aufgefallen.
So wie das Script jetzt aussieht, tut sich was...
rem @echo off
setlocal enabledelayedexpansion
>"C:\@tmp\arbeit\Routen01.txt" (  
for /f "usebackq tokens=2,5-8" %%a in ("C:\@tmp\org-log-daten\00002500.LOG" ) do (  
  if "%%a" neq "!check!" echo %%b %%c %%d %%e  
  set "check=%%a"  
))
Die Ausgabedatei wird erzeugt, allerdings ist das Ergebnis noch unbefriedigend.
C:\@tmp\bat>(
if "00:10:43" NEQ "!check!" echo 0.19,-1.06) N45 28.376 E015    
 set "check=00:10:43"   
) 
0.19,-1.06) N45 28.376 E015

C:\@tmp\bat>(
if "00:10:43" NEQ "!check!" echo 0.25,-1.06) N45 28.376 E015    
 set "check=00:10:43"   
) 
usw...
Aber schon mal ein Anfang, zumindest werden die Koordinaten teilweise extrahiert, wenn auch der zweite Teil (beginnend mit "E015") leider kastriert wird. Mal sehen...
pieh-ejdsch
pieh-ejdsch 11.06.2012 um 15:22:30 Uhr
Goto Top
Daher die Bemerkung die TXT-Zeile in CodeTags einzufassen.
Da ist wohl vor der Klammer noch ein Leerzeichen.

Ich hab den Batch oben die Tokens 6-9 spendiert und die Ausgabeumleitung für den Gebrauch von echo ON optimiert.

Gruß Phil
leknilk0815
leknilk0815 11.06.2012 aktualisiert um 16:06:27 Uhr
Goto Top
Hallo Phil,

die Version tut!
Allerdings sind in der Ausgabedatei Fehler enthalten, deren Entstehung nicht nachvollziehbar ist. Hier ein Auszug aus der Ausgabedatei:
N45 32.455 E015 35.211
N45 32.443 E015 35.193
N45 32.430 E015 35.176
N45 32.418 E015 35.159
N45 32.406 E015 35.142
32.393 E015 35.125 115km/h
N45 32.381 E015 35.107
32.369 E015 35.090 115km/h
N45 32.356 E015 35.073
irgendwie wird an manchen Stellen das "N45" verschluckt und dafür hinten die Geschwindigkeit angehängt.
In den Ausgangsdatensätzen sind aber keine Unterschiede (Leerzeichen, minus, etc.) zu finden, bzw. sehe ich zumindest nix...
Hier noch die Orginaldaten:
2012/05/23 00:00:27             G-Sensor(-0.06, 0.19,-0.88)     N45 32.406 E015 35.142 115km/h
2012/05/23 00:00:27             G-Sensor(-0.06, 0.19,-1.00)     N45 32.406 E015 35.142 115km/h
2012/05/23 00:00:28             G-Sensor(-0.13, 0.25,-1.06)     N45 32.393 E015 35.125 115km/h
2012/05/23 00:00:28             G-Sensor(-0.19, 0.25,-1.00)     N45 32.393 E015 35.125 115km/h
2012/05/23 00:00:28             G-Sensor( 0.06, 0.31,-1.00)     N45 32.393 E015 35.125 115km/h
2012/05/23 00:00:28             G-Sensor(-0.06, 0.25,-1.06)     N45 32.393 E015 35.125 115km/h
2012/05/23 00:00:28             G-Sensor( 0.06, 0.38,-1.06)     N45 32.393 E015 35.125 115km/h
2012/05/23 00:00:28             G-Sensor( 0.00, 0.19,-0.94)     N45 32.393 E015 35.125 115km/h
2012/05/23 00:00:28             G-Sensor( 0.00, 0.31,-1.00)     N45 32.393 E015 35.125 115km/h
2012/05/23 00:00:28             G-Sensor( 0.00, 0.19,-1.06)     N45 32.393 E015 35.125 115km/h
2012/05/23 00:00:28             G-Sensor( 0.00, 0.25,-1.06)     N45 32.393 E015 35.125 115km/h
2012/05/23 00:00:28             G-Sensor( 0.00, 0.25,-1.06)     N45 32.393 E015 35.125 115km/h
2012/05/23 00:00:28             G-Sensor(-0.19, 0.25,-0.94)     N45 32.393 E015 35.125 115km/h
2012/05/23 00:00:28             G-Sensor( 0.00, 0.25,-1.13)     N45 32.393 E015 35.125 115km/h
2012/05/23 00:00:28             G-Sensor(-0.13, 0.25,-1.00)     N45 32.393 E015 35.125 115km/h
2012/05/23 00:00:28             G-Sensor( 0.00, 0.31,-0.94)     N45 32.393 E015 35.125 115km/h
2012/05/23 00:00:28             G-Sensor( 0.00, 0.38,-1.25)     N45 32.393 E015 35.125 115km/h
2012/05/23 00:00:28             G-Sensor( 0.00, 0.19,-1.00)     N45 32.393 E015 35.125 115km/h
2012/05/23 00:00:29             G-Sensor( 0.06, 0.13,-0.94)     N45 32.381 E015 35.107 115km/h
2012/05/23 00:00:29             G-Sensor( 0.06, 0.31,-1.00)     N45 32.381 E015 35.107 115km/h
2012/05/23 00:00:29             G-Sensor( 0.00, 0.31,-1.00)     N45 32.381 E015 35.107 115km/h
2012/05/23 00:00:29             G-Sensor( 0.06, 0.31,-1.06)     N45 32.381 E015 35.107 115km/h
2012/05/23 00:00:29             G-Sensor( 0.00, 0.25,-1.00)     N45 32.381 E015 35.107 115km/h
2012/05/23 00:00:29             G-Sensor( 0.00, 0.25,-1.06)     N45 32.381 E015 35.107 115km/h
2012/05/23 00:00:29             G-Sensor( 0.06, 0.25,-1.00)     N45 32.381 E015 35.107 115km/h
2012/05/23 00:00:29             G-Sensor(-0.13, 0.25,-1.06)     N45 32.381 E015 35.107 115km/h
2012/05/23 00:00:29             G-Sensor(-0.19, 0.25,-0.88)     N45 32.381 E015 35.107 115km/h
2012/05/23 00:00:29             G-Sensor( 0.06, 0.19,-0.88)     N45 32.381 E015 35.107 115km/h
2012/05/23 00:00:29             G-Sensor( 0.00, 0.19,-0.81)     N45 32.381 E015 35.107 115km/h
2012/05/23 00:00:29             G-Sensor(-0.13, 0.25,-1.00)     N45 32.381 E015 35.107 115km/h
2012/05/23 00:00:29             G-Sensor( 0.00, 0.31,-1.00)     N45 32.381 E015 35.107 115km/h
2012/05/23 00:00:29             G-Sensor(-0.06, 0.25,-1.00)     N45 32.381 E015 35.107 115km/h
2012/05/23 00:00:29             G-Sensor( 0.06, 0.19,-0.94)     N45 32.381 E015 35.107 115km/h
2012/05/23 00:00:30             G-Sensor(-0.13, 0.25,-1.00)     N45 32.369 E015 35.090 115km/h
2012/05/23 00:00:30             G-Sensor(-0.19, 0.31,-1.00)     N45 32.369 E015 35.090 115km/h
2012/05/23 00:00:30             G-Sensor(-0.06, 0.25,-1.06)     N45 32.369 E015 35.090 115km/h
2012/05/23 00:00:30             G-Sensor( 0.06, 0.31,-1.06)     N45 32.369 E015 35.090 115km/h
2012/05/23 00:00:30             G-Sensor( 0.00, 0.19,-0.88)     N45 32.369 E015 35.090 115km/h
2012/05/23 00:00:30             G-Sensor( 0.00, 0.25,-1.06)     N45 32.369 E015 35.090 115km/h
2012/05/23 00:00:30             G-Sensor(-0.06, 0.25,-1.06)     N45 32.369 E015 35.090 115km/h
2012/05/23 00:00:30             G-Sensor( 0.06, 0.25,-1.00)     N45 32.369 E015 35.090 115km/h
2012/05/23 00:00:30             G-Sensor( 0.06, 0.25,-1.13)     N45 32.369 E015 35.090 115km/h
2012/05/23 00:00:30             G-Sensor( 0.00, 0.25,-0.94)     N45 32.369 E015 35.090 115km/h
2012/05/23 00:00:30             G-Sensor( 0.00, 0.25,-0.94)     N45 32.369 E015 35.090 115km/h
2012/05/23 00:00:30             G-Sensor( 0.00, 0.25,-0.88)     N45 32.369 E015 35.090 115km/h
2012/05/23 00:00:30             G-Sensor( 0.00, 0.25,-1.06)     N45 32.369 E015 35.090 115km/h
2012/05/23 00:00:30             G-Sensor(-0.13, 0.19,-0.94)     N45 32.369 E015 35.090 115km/h
2012/05/23 00:00:30             G-Sensor(-0.13, 0.31,-1.00)     N45 32.369 E015 35.090 115km/h
2012/05/23 00:00:31             G-Sensor( 0.06, 0.25,-0.94)     N45 32.356 E015 35.073 116km/h
2012/05/23 00:00:31             G-Sensor( 0.00, 0.31,-1.06)     N45 32.356 E015 35.073 116km/h
2012/05/23 00:00:31             G-Sensor( 0.06, 0.25,-0.94)     N45 32.356 E015 35.073 116km/h
2012/05/23 00:00:31             G-Sensor(-0.06, 0.19,-0.88)     N45 32.356 E015 35.073 116km/h
2012/05/23 00:00:31             G-Sensor(-0.06, 0.19,-1.00)     N45 32.356 E015 35.073 116km/h
2012/05/23 00:00:31             G-Sensor(-0.06, 0.31,-0.94)     N45 32.356 E015 35.073 116km/h
2012/05/23 00:00:31             G-Sensor( 0.06, 0.25,-1.00)     N45 32.356 E015 35.073 116km/h
2012/05/23 00:00:31             G-Sensor(-0.13, 0.25,-0.94)     N45 32.356 E015 35.073 116km/h
2012/05/23 00:00:31             G-Sensor(-0.06, 0.38,-1.19)     N45 32.356 E015 35.073 116km/h
2012/05/23 00:00:31             G-Sensor(-0.13, 0.19,-1.00)     N45 32.356 E015 35.073 116km/h
2012/05/23 00:00:31             G-Sensor( 0.00, 0.19,-1.06)     N45 32.356 E015 35.073 116km/h
2012/05/23 00:00:31             G-Sensor( 0.06, 0.25,-1.06)     N45 32.356 E015 35.073 116km/h
2012/05/23 00:00:31             G-Sensor( 0.06, 0.25,-1.00)     N45 32.356 E015 35.073 116km/h
2012/05/23 00:00:31             G-Sensor(-0.13, 0.25,-1.00)     N45 32.356 E015 35.073 116km/h
2012/05/23 00:00:31             G-Sensor( 0.06, 0.25,-1.06)     N45 32.356 E015 35.073 116km/h
2012/05/23 00:00:32             G-Sensor( 0.00, 0.25,-1.06)     N45 32.344 E015 35.055 116km/h
2012/05/23 00:00:32             G-Sensor( 0.00, 0.31,-1.06)     N45 32.344 E015 35.055 116km/h
2012/05/23 00:00:32             G-Sensor(-0.06, 0.31,-1.13)     N45 32.344 E015 35.055 116km/h
2012/05/23 00:00:32             G-Sensor( 0.06, 0.19,-0.94)     N45 32.344 E015 35.055 116km/
mathe172
mathe172 11.06.2012 aktualisiert um 16:27:43 Uhr
Goto Top
Hallo,

In den Ausgangsdatensätzen sind aber keine Unterschiede (Leerzeichen, minus, etc.) zu finden
Gibt es eben doch (obwohl diese nicht in den betreffenden Zeilen sind-oder irre ich mich?) - versuch mal die Delims auf "- " (ohne die ", nur Leerzeichen und Minus) zu setzen und die Tokens auf "2,8-11"
Also insgesammt:
for /f "usebackq tokens=2,8-11 delims=- " %%a in ("...  
Das sollte zumindest die Probleme beheben

MfG,
Mathe172
leknilk0815
leknilk0815 11.06.2012 aktualisiert um 16:43:59 Uhr
Goto Top
Servus Mathe172,

ich glaube, das wars!
Ich muss das nun mal probieren und testen, aber der erste Versuch mit einer Datei, die vorher Probleme machte war OK, keine Duplikate oder abgezwickte "N45" oder nicht benötigte "km/h" mehr vorhanden.

Vielen Dank mal wieder an Euch beide, ich melde mich wenn ich weiter bin!

Hier noch der funktionierende Code:

@echo off
setlocal enabledelayedexpansion

3>"C:\@tmp\arbeit\Routen07.txt" (  
for /f "usebackq tokens=2,8-11 delims=- " %%a in ("C:\@tmp\org-log-daten\00002500.LOG") do (  
  if "%%a" neq "!check!" >&3 echo %%b %%c %%d %%e  
  set "check=%%a"  
))
pieh-ejdsch
pieh-ejdsch 11.06.2012 um 18:37:58 Uhr
Goto Top
ja in den Zeilen 3 und 19 wäre der erste Unterschied bemerkbar geworden

03. 2012/05/23 00:00:28 G-Sensor(-0.13, 0.25,-1.06) N45 32.393 E015 35.125 115km/h
19. 2012/05/23 00:00:29 G-Sensor( 0.06, 0.13,-0.94) N45 32.381 E015 35.107 115km/h

das Minus tritt anstelle des Leerzeichens auf.

@leknilk Heftest Du Bitte noch ein grünes Beitrag gelöst dingens an.

Gruß Phil