tueftler
Goto Top

Zeichenkette in allen Textdateien in einem Ordner suchen und ab der nächsten Zeile den Restinhalt in eine summe.out Datei umleiten mittels Batch unter Win Vista

Hallo zusammen,

ich habe folgendes Problem:
Ich habe -n viele Textdateien die verschiedenen "Bereichen" zugeordnet werden können.
Die Textdateien liegen alle in EINEM Ordner.
Ich möchte nun in jede TXT Datei "hinein" schauen und wenn der gesuchte Text in dieser Datei
steht soll ab der nächsten Zeile der restliche Text in eine XXX.out Datei umgeleitet werden.
Beispiel Text einer solche TXT:
Suchtext= "checked"

@;002097777;149807;07082010;TMS:no read;SSD:no read;1-7m;Place3(06:48:53)
Read Barcode=1(1,1)
PIN lenght checked=0(1,1)
R103=4.018(3.000,6.000)kohm
R107=9.933(9.800,10.200)kohm
R108=0.990(0.980,1.020)kohm
R109=99.764(98.000,102.000)ohm
R112=0.994(0.950,1.050)Mkohm
R113=99.915(95.000,105.000)kohm
R114=99.574(98.000,102.000)kohm
R115=1.005(0.980,1.020)kohm
R116=19.824(19.600,20.400)kohm
R140=9.928(9.400,10.600)kohm
R142=0.000(9.800,10.200)kohm
R143=17.946(17.640,18.360)kohm
R145=99.466(98.000,102.000)kohm
R146=46.819(46.060,47.940)kohm
R148=99.890(98.000,102.000)kohm

Hier soll also der Text ab R103... in die XXX.out angehängt werden.

Danke vorab

Content-Key: 172830

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

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

Member: bastla
bastla Sep 08, 2011 at 14:18:41 (UTC)
Goto Top
Hallo tueftler und willkommen im Forum!

Wenn ich das richtig verstehe (nur eine Zeile mit dem Suchwort je Datei, alle Ergebnisse in die Sammeldatei "XXX.out"), sollte eigentlich eine Zeile der Art
for /f "tokens=1-2 delims=:" %i in ('findstr /n "checked" *.txt') do more +%j "%i">>"D:\Sammel\XXX.out"
genügen (Beispiel für die Direkteingabe in der CMD-Shell; als Batch jeweils %%i und %%j) ...

Ansonsten solltest Du Dir auch noch T-Mos Zusatzfragen 2 und 3 überlegen ...

Grüße
bastla

[Edit] Beispielpfade hinzugefügt [/Edit]
[Edit2] Beispielpfade teilweise wieder entfernt (da kontraproduktiv) [/Edit2]
Mitglied: 60730
60730 Sep 08, 2011 at 14:19:50 (UTC)
Goto Top
moin und willkommen,

nunja du hast hierher gefunden und auch schon den Bereich Batch ausgesucht.

Die Frage(n) istsind also:

  • Wie weit bist du?
  • einmalig oder immer und immer wieder?
  • Wie soll verhindert werden, dass eine bereits durchgesuchte Datei erneut durchgekaspert wird?
  • was genau versteckt sich hinter :
der restliche Text in eine XXX.out Datei umgeleitet werden.


gruß
Member: tueftler
tueftler Sep 08, 2011 at 14:48:57 (UTC)
Goto Top
Hallo und Dank für die zügige Antwort,

erstmal bin ich leider nur, naja Laie, aber gewählt es immer wieder mal mit Batch zu versuchen.
Es sollen einmal alle TXTs im entsprechendem Ordner durchsucht werden.
Evtl. kann man sich ja den Namen der ersten TXT merken und die Schleife solange durchlaufen bis diese
gemerkte Datei erneut gefunden wird.

" •was genau versteckt sich hinter :
der restliche Text in eine XXX.out Datei umgeleitet werden. "

Bezogen auf das Beispiel heißt das:
Ab der nächsten Zeile hinter dem Suchbegriff soll der komplette restliche Text in eine "Sammeldatei" umgepipet werden.
Also:
R103=4.018(3.000,6.000)kohm
R107=9.933(9.800,10.200)kohm
R108=0.990(0.980,1.020)kohm
R109=99.764(98.000,102.000)ohm
R112=0.994(0.950,1.050)Mkohm
R113=99.915(95.000,105.000)kohm
R114=99.574(98.000,102.000)kohm
R115=1.005(0.980,1.020)kohm
R116=19.824(19.600,20.400)kohm
R140=9.928(9.400,10.600)kohm
R142=0.000(9.800,10.200)kohm
R143=17.946(17.640,18.360)kohm
R145=99.466(98.000,102.000)kohm
R146=46.819(46.060,47.940)kohm
R148=99.890(98.000,102.000)kohm

wird in die XXX.out angehängt.

Ich hatte mir das mal so gedacht, bin aber nicht weiter gekommen
:
@echo off
REM Datei die durchsucht werden soll
:nochmal
set Datei=C:\Users\user\Documents\TESTORDNER\*.log
REM Text, nach dem in der Datei gesucht werden soll
set Inhalt=checked
find /c /i "%Inhalt%" %Datei%
if errorlevel 1 goto nicht_gefunden

:gefunden
echo Text in der Datei vorhanden!
goto :nochmal

:nicht_gefunden
echo Text in der Datei nicht vorhanden!

:Ende
PAUSE;
Mitglied: 60730
60730 Sep 08, 2011 at 14:56:51 (UTC)
Goto Top
Servus,

woher ihr immer dieses
@echo off nehmt - würd ich wirklich gerne mal wissen wollen.....
Früher hätte ich sinngemäß geschrieben - noch keine Haare am S...zensiert, aber im Bordell vordrängeln face-wink
  • scnr - ist nicht persönlich, eher grundsätzlich.

Im Prinzip hat der Bastla ja dein Problem Works as Designed und meine Frage bezog sich auch auf ist in eine XXX.out Datei umgeleitet werden wortwörtlich so gemeint - wenn ja - Schau dir des Bastlas Demo für die cmd an.

Gruß
Member: tueftler
tueftler Sep 11, 2011 at 18:31:29 (UTC)
Goto Top
Hallo bastla,

sorrry das ich jetzt erst antworte, hatte vorher leider keine Zeit.
Vielen Dank für die schnelle Antwort.
Klappt prima.
Habe das nun so umgesetzt :
for /f "tokens=1-2 delims=:" %%i in ('findstr /n "PARAM" "*.txt"') do more +%%j "%%i">>".\XXX.out"

Diese eine Zeile erfüllt genau Ihren Zweck.
Damit ist mein eigentliches Problem zwar nicht gelöst, aber ich werde mich erst noch einmal alleine damit auseinander setzen.
Member: bastla
bastla Sep 11, 2011 at 18:58:39 (UTC)
Goto Top
Hallo tueftler!

Was wäre denn das "eigentliche" Problem?
BTW: Die Schreibweise
.\XXX.out
ist witzlos - es genügt
XXX.out
Grüße
bastla

P.S.: Verwende doch bitte zum Posten von Code die passende (ist übrigens auch für Beispieldaten gut geeignet) ...
Member: tueftler
tueftler Sep 11, 2011 at 19:30:27 (UTC)
Goto Top
Hallo bastla,

das eine Problem hast Du ja bereits mit einer Codezeile gelöst.
Also,
alle Ursprungsdateien sehen in etwas wie folgt aus:

900020102.00ÿ0.726000ÿ ÿ0.200000ÿ22.000000ÿ*SCHALT_C206
900030102.00ÿ0.669000ÿ ÿ0.200000ÿ22.000000ÿ*SCHALT_R201
900040102.00ÿ0.706000ÿ ÿ0.200000ÿ22.000000ÿ*SCHALT_R207
900050102.00ÿ0.781000ÿ ÿ0.200000ÿ22.000000ÿ*SCHALT_R206
900060102.00ÿ0.726000ÿ ÿ0.200000ÿ22.000000ÿ*SCHALT_C310

Was ich benötige sieht aber so aus:

*SCHALT_C206=0.941000(0.200000,22.000000)
*SCHALT_R201=0.632000(0.200000,22.000000)
*SCHALT_R207=0.632000(0.200000,22.000000)
*SCHALT_R206=0.595000(0.200000,22.000000)
*SCHALT_C310=0.787000(0.200000,22.000000)

Nun soll aber noch überprüft werden ob der Wert hinter dem '=' innerhalb der Limits in den '()' liegt.
IO Fall ; es bleibt dort ein '=' stehen und der Datensatz wird mit einem " abgeschlossen.
NIO Fall; das '=' wird durch ein '<' ersetzt und der Datensatz wird mit einem / abgeschlossen.

Ein Datensatz hat eine variable Länge.
Ein Datensatz wird immer aus einer Textdatei gewonnen.
Der Anfang eines Datensatzes begimmt immer mit "TABLE".

Bei mir dauert das ewig.
Die Datei ist übrigens ca. 20MB groß und hat ca. 300.000 Zeilen.

Und hier mein bisheriger Quelltext:

@echo off
DEL output.log
REM Schleifenzähler laden
SET Z=0
SET CYCLE=1
SET Label=TABLE
SET ICTRESULT=0.000000

REM Sonderzeichen wie => muessen manuell aus dem Input-file entfernt werden!


REM erzeuge Dummy Header Zeile fuer Log-File Start
ECHO 08292011_35.log;08292011;06:26:02 >>output.log


for /f "tokens=1-6 delims=ÿ" %%i in (XXX.out) do (set Ueberg1=%%i& set Ueberg2=%%j& set Ueberg3=%%k& set Ueberg4=%%l& set Ueberg5=%%m& set Ueberg6=%%n& call:[ZeileBearbeiten])

goto:eof

:[ZeileBearbeiten]
IF %Ueberg1% EQU %Label% call:[startLabel]
:weiter
ECHO %ICTRESULT%
IF %Ueberg2% EQU %ICTRESULT% call:[startLabelz]
:weiter2

IF %Ueberg2% LSS %Ueberg4% goto :kleiner
IF %Ueberg2% GTR %Ueberg5% goto :kleiner

ECHO %Ueberg6%=%Ueberg2%(%Ueberg4%,%Ueberg5%)%Ueberg3% >> output.log
goto :imlimit

:kleiner
ECHO %Ueberg6%<%Ueberg2%(%Ueberg4%,%Ueberg5%)%Ueberg3% >> output.log

:imlimit
ECHO bearbeitete Zeile: %Z%
SET /A Z=%Z%+1
goto:eof

:[startLabel]

ECHO / >>output.log
ECHO @;004122672;%Z%;08292011;%Z%;1-6m;DUT2(06:26:03) >>output.log
ECHO %CYCLE% Testlauefe bearbeitet
SET /A CYCLE=%CYCLE%+1
goto :weiter

:[startLabelz]
ECHO " >>output.log
ECHO @;004122672;%Z%;08292011;%Z%;1-6m;DUT2(06:26:03) >>output.log
ECHO %CYCLE% Testlauefe bearbeitet
SET /A CYCLE=%CYCLE%+1
goto :weiter2

PS: ich hoffe der Quelltext ist nun richtig formatiert
[Edit Biber] Ich sach ma so:
@echo off
DEL output.log
REM Schleifenzähler laden
SET Z=0
SET CYCLE=1
SET Label=TABLE
SET ICTRESULT=0.000000

REM Sonderzeichen wie => muessen manuell aus dem Input-file entfernt werden!


REM erzeuge Dummy Header Zeile fuer Log-File Start
ECHO 08292011_35.log;08292011;06:26:02 >>output.log


for /f "tokens=1-6 delims=ÿ" %%i in (XXX.out)  do (  
       set Ueberg1=%%i
       set Ueberg2=%%j 
       set Ueberg3=%%k       
       set Ueberg4=%%l
       set Ueberg5=%%m
       set Ueberg6=%%n&
       call:[ZeileBearbeiten]
       ) 

goto:eof 

:[ZeileBearbeiten] 
IF %Ueberg1% EQU %Label% call:[startLabel]
:weiter 
 ECHO %ICTRESULT%
IF %Ueberg2% EQU %ICTRESULT% call:[startLabelz]
:weiter2 

IF %Ueberg2% LSS %Ueberg4% goto :kleiner
IF %Ueberg2% GTR %Ueberg5% goto :kleiner 

ECHO %Ueberg6%=%Ueberg2%(%Ueberg4%,%Ueberg5%)%Ueberg3% >> output.log
goto :imlimit

:kleiner
 ECHO %Ueberg6%<%Ueberg2%(%Ueberg4%,%Ueberg5%)%Ueberg3% >> output.log

:imlimit
ECHO bearbeitete Zeile: %Z%
SET /A Z=%Z%+1
goto:eof

:[startLabel]

ECHO / >>output.log
ECHO @;004122672;%Z%;08292011;%Z%;1-6m;DUT2(06:26:03) >>output.log
ECHO %CYCLE% Testlauefe bearbeitet
SET /A CYCLE=%CYCLE%+1
goto :weiter

:[startLabelz]
ECHO " >>output.log  
ECHO @;004122672;%Z%;08292011;%Z%;1-6m;DUT2(06:26:03) >>output.log
ECHO %CYCLE% Testlauefe bearbeitet
SET /A CYCLE=%CYCLE%+1
goto :weiter2
Wenn du ganz dicht rangehst, dann siehst du winzige Unterschiede.
[/Edit Biber]
Gruss tueftler
Member: bastla
bastla Sep 11, 2011 at 20:13:10 (UTC)
Goto Top
Hallo tueftler!

Den Quelltext kannst Du mit den Tags <code> und </code> formatieren ...
Deine Beispieldaten für "Vorher" und "Nachher" passen für mich nicht zusammen (und ein "LABELTABLE" habe ich auch vergeblich gesucht) ...

... ansonsten wäre folgender (ungetesteter) Code zwar vermutlich nicht wirklich schneller, aber etwas aufgeräumter:
@echo off & setlocal
REM Schleifenzähler laden
SET Z=0
SET CYCLE=1
SET Label=TABLE
SET ICTRESULT=0.000000
REM Sonderzeichen wie => muessen manuell aus dem Input-file entfernt werden!
REM erzeuge Dummy Header Zeile fuer Log-File Start
>output.log ECHO 08292011_35.log;08292011;06:26:02

for /f "tokens=1-6 delims=ÿ" %%i in (XXX.out) do call:[ZeileBearbeiten] %%i %%j "%%k" %%l %%m %%n  
goto:eof

:[ZeileBearbeiten]
echo %1_%2_%~3_%4_%5_%6
IF %1 EQU %Label% (
    >>output.log ECHO /
    >>output.log ECHO @;004122672;%Z%;08292011;%Z%;1-6m;DUT2(06:26:03)
    ECHO %CYCLE% Testlauefe bearbeitet
    SET /A CYCLE+=1
)

ECHO %ICTRESULT%
IF %2 EQU %ICTRESULT% (
    >>output.log ECHO "  
    >>output.log ECHO @;004122672;%Z%;08292011;%Z%;1-6m;DUT2(06:26:03)
    ECHO %CYCLE% Testlauefe bearbeitet
    SET /A CYCLE+=1
)

IF %2 LSS %4 goto :kleiner
IF %2 GTR %5 goto :kleiner
>>output.log ECHO %6=%2(%4,%5)%~3 
goto :imlimit
:kleiner
>>output.log ECHO %6^<%2(%4,%5)%~3
:imlimit
ECHO bearbeitete Zeile: %Z%
SET /A Z+=1
goto:eof
Die Zeilen 31 bis 37 könntst Du auch durch
(
IF %2 LSS %4 (ECHO %6^<%2^(%4,%5^)%~3) ELSE (IF %2 GTR %5 (ECHO %6^<%2^(%4,%5^)%~3) ELSE (ECHO %6=%2^(%4,%5^)%~3))
)>>output.log
ersetzen ...

Grüße
bastla
Member: tueftler
tueftler Sep 12, 2011 at 19:19:24 (UTC)
Goto Top
Moin bastla,

folgende Fehler habe ich auch mit deinem Quellcode immer noch:

in der Codezeile:

>>output.log ECHO @;004122672;%Z%;08292011;%Z%;1-6m;DUT2(06:26:03)
 

fehlt bei der Ausgabe die schliessende Klammer !
Bsp:
@;004122672;92;08292011;92;1-6m;DUT2(06:26:03


Die folgenden IF Abfragen bringen die Batch zum Abbruch, bzw. diese erfüllen nicht den gewünschten Zweck:
IF %2 LSS %4 goto :kleiner 
IF %2 GTR %5 goto :kleiner  


Ein Teil der Textausgabe wir "abgeschnitten" :

Original:
*DMM Versorgungsspannung Modul messen

Ausgabe nach dem durchlauf der Batch:
*DMM=100.000000(90.000000,120.000000)V

Vielen Dank vorab,

ich hoffe das ich wenigsten dieses mal den Code richtig dargestellt habe,

Gruß
tueftler
Member: bastla
bastla Sep 12, 2011 at 19:34:24 (UTC)
Goto Top
Hallo tueftler!

Codeformatierung ist ok face-smile, aber die Beispieldaten sind weiterhin unvollständig (wie sähe denn eine Zeile mit "TABLE" aus, oder eine mit "*DMM Versorgungsspannung Modul messen"?)
Mit
>>output.log ECHO @;004122672;%Z%;08292011;%Z%;1-6m;DUT2(06:26:03^)
sollte auch die schließende Klammer geschrieben werden.
Wäre übrigens auch die Verwendung von VBS eine Option?

Grüße
bastla
Member: tueftler
tueftler Sep 12, 2011 at 19:46:41 (UTC)
Goto Top
Hallo bastla,

hier erstmal ein kpl. Code der übrigens PASS gelaufen ist.
D.h. alle "Messwerte" liegen innerhalb der Toleranzen.

HEADER_DEFINE
TYPE_NRÿSERIAL_NRÿTEST_TIMEÿTEST_DATEÿSTATION_IDÿTEST_FILEÿ
TABLE_DEFINE
STEP_NOÿMS_VALUEÿDIMENSIONÿTOL_MINÿTOL_MAXÿCOMMENT
HEADER
4521432ÿ790796ÿ11:34:36ÿ20110906ÿalpha13ÿbeta13_national_INVERTERÿ
TABLE
102.00ÿ1.000000ÿ ÿ1.000000ÿ1.000000ÿ*ICC ativieren (850,1,2,50.0,)
900010102.00ÿ0.849000ÿ ÿ0.200000ÿ22.000000ÿ*SCHALT_C204
900020102.00ÿ1.003000ÿ ÿ0.200000ÿ22.000000ÿ*SCHALT_C206
900030102.00ÿ0.706000ÿ ÿ0.200000ÿ22.000000ÿ*SCHALT_R201
900040102.00ÿ0.706000ÿ ÿ0.200000ÿ22.000000ÿ*SCHALT_R207
900050102.00ÿ0.744000ÿ ÿ0.200000ÿ22.000000ÿ*SCHALT_R206
900060102.00ÿ0.972000ÿ ÿ0.200000ÿ22.000000ÿ*SCHALT_C310
900070102.00ÿ0.558000ÿ ÿ0.010000ÿ2.000000ÿ*PE_KONTAKT_X4
900080102.00ÿ0.651000ÿ ÿ0.050000ÿ10.000000ÿ*F200
900090102.00ÿ22.642000ÿKOhmÿ14.000000ÿ27.200000ÿ*R100
900110102.00ÿ19.820000ÿOhmÿ13.500000ÿ22.500000ÿ*R209_V
900120102.00ÿ1.000000ÿKOhmÿ0.950000ÿ1.050000ÿ*R103
900130102.00ÿ10.157000ÿKOhmÿ9.500000ÿ10.500000ÿ*R106
900140102.00ÿ5.610000ÿKOhmÿ4.460000ÿ5.880000ÿ*R107
900150102.00ÿ9.712000ÿKOhmÿ9.500000ÿ10.500000ÿ*R108
900160102.00ÿ9.677000ÿKOhmÿ9.500000ÿ10.500000ÿ*R109
900180102.00ÿ9.669000ÿKOhmÿ9.500000ÿ10.500000ÿ*R111
900190102.00ÿ9.663000ÿKOhmÿ9.500000ÿ10.500000ÿ*R213
900200102.00ÿ16.145000ÿKOhmÿ15.200000ÿ16.800000ÿ*R221
900210102.00ÿ96.750000ÿOhmÿ95.000000ÿ105.000000ÿ*R300
900220102.00ÿ0.950000ÿKOhmÿ0.900000ÿ1.100000ÿ*R301
900230102.00ÿ2.897000ÿKOhmÿ2.850000ÿ3.150000ÿ*R302
900240102.00ÿ479.378000ÿKOhmÿ423.000000ÿ526.400000ÿ*R303
900250102.00ÿ476.570000ÿKOhmÿ282.000000ÿ658.000000ÿ*R304
900260102.00ÿ4.540000ÿKOhmÿ4.370000ÿ5.030000ÿ*R306
900270102.00ÿ9.321000ÿKOhmÿ8.950000ÿ10.500000ÿ*R307
900280102.00ÿ0.954000ÿKOhmÿ0.900000ÿ1.100000ÿ*R308
900290102.00ÿ2.172000ÿKOhmÿ2.090000ÿ2.310000ÿ*R309
900300102.00ÿ0.950000ÿKOhmÿ0.900000ÿ1.100000ÿ*R312
900310102.00ÿ12.097000ÿKOhmÿ11.400000ÿ12.600000ÿ*R313
900320102.00ÿ10.360000ÿKOhmÿ9.000000ÿ11.000000ÿ*R314
900330102.00ÿ5.400000ÿKOhmÿ5.320000ÿ5.880000ÿ*R318
900340102.00ÿ0.946000ÿKOhmÿ0.900000ÿ1.100000ÿ*R401
900350102.00ÿ0.945000ÿKOhmÿ0.900000ÿ1.100000ÿ*R402
900360102.00ÿ0.948000ÿKOhmÿ0.900000ÿ1.100000ÿ*R403
900370102.00ÿ0.945000ÿKOhmÿ0.900000ÿ1.100000ÿ*R404
900390102.00ÿ47.587000ÿOhmÿ42.300000ÿ51.700000ÿ*R405_V
900410102.00ÿ48.890000ÿOhmÿ44.650000ÿ49.350000ÿ*R406_V
900430102.00ÿ10.940000ÿOhmÿ9.500000ÿ13.000000ÿ*R407_V
900450102.00ÿ10.870000ÿOhmÿ9.500000ÿ11.000000ÿ*R408_V
900470102.00ÿ10.740000ÿOhmÿ9.000000ÿ12.000000ÿ*R409_V
900490102.00ÿ47.290000ÿOhmÿ42.300000ÿ51.700000ÿ*R410_V
900500102.00ÿ0.940000ÿKOhmÿ0.900000ÿ1.100000ÿ*R411
900510102.00ÿ0.947000ÿKOhmÿ0.900000ÿ1.100000ÿ*R412
900520102.00ÿ106.585000ÿOhmÿ70.000000ÿ130.000000ÿ*R414
900530102.00ÿ115.400000ÿKOhmÿ114.000000ÿ126.000000ÿ*R500
900540102.00ÿ220.350000ÿKOhmÿ180.000000ÿ230.000000ÿ*R507_R508
900560102.00ÿ86.330000ÿOhmÿ85.500000ÿ94.500000ÿ*R217_218_219
900590102.00ÿ222.800000ÿOhmÿ209.000000ÿ231.000000ÿ*R212
900610102.00ÿ14.100000ÿKOhmÿ10.500000ÿ16.500000ÿ*R222
900640102.00ÿ1.970000ÿKOhmÿ1.900000ÿ2.100000ÿ*R220
900660102.00ÿ1.102000ÿOhmÿ0.550000ÿ1.650000ÿ*R413_V
900670102.00ÿ4.545000ÿKOhmÿ4.465000ÿ4.935000ÿ*R113
900690102.00ÿ4.536000ÿKOhmÿ4.465000ÿ4.935000ÿ*R502
900700102.00ÿ215.012000ÿOhmÿ209.000000ÿ231.000000ÿ*R503
900710102.00ÿ4.550000ÿKOhmÿ4.460000ÿ4.930000ÿ*R214
900720102.00ÿ0.945000ÿKOhmÿ0.900000ÿ1.100000ÿ*R215
900730102.00ÿ9.660000ÿKOhmÿ9.500000ÿ10.500000ÿ*R216
900740102.00ÿ0.955000ÿKOhmÿ0.900000ÿ1.100000ÿ*R321
900750102.00ÿ96.725000ÿKOhmÿ95.000000ÿ105.000000ÿ*R319
900760102.00ÿ96.150000ÿKOhmÿ94.000000ÿ105.000000ÿ*R320
900770102.00ÿ0.960000ÿKOhmÿ0.900000ÿ1.100000ÿ*R317
900780102.00ÿ9.231000ÿKOhmÿ9.000000ÿ10.500000ÿ*R506
900790102.00ÿ22.046000ÿKOhmÿ20.900000ÿ23.650000ÿ*R504
900800102.00ÿ4.550000ÿKOhmÿ4.460000ÿ4.930000ÿ*R505
900810102.00ÿ95.042000ÿOhmÿ90.000000ÿ110.000000ÿ*R102
900820102.00ÿ96.100000ÿOhmÿ90.000000ÿ110.000000ÿ*R101
900830102.00ÿ94.890000ÿOhmÿ90.000000ÿ110.000000ÿ*R104
900840102.00ÿ95.630000ÿOhmÿ90.000000ÿ110.000000ÿ*R105
900850102.00ÿ12.680000ÿKOhmÿ9.000000ÿ13.500000ÿ*R114_NB
900860102.00ÿ10.190000ÿKOhmÿ7.000000ÿ13.000000ÿ*R115_NB
900870102.00ÿ9.650000ÿKOhmÿ9.500000ÿ10.500000ÿ*R116
900880102.00ÿ4.555000ÿKOhmÿ4.465000ÿ4.935000ÿ*R305
900890102.00ÿ719.407000ÿKOhmÿ684.000000ÿ756.000000ÿ*R200_204_205
900900102.00ÿ510.720000ÿKOhmÿ378.000000ÿ621.000000ÿ*R203_R202
900910102.00ÿ10.900000ÿuFÿ8.000000ÿ12.000000ÿ*C102_BLOCK_5V
900940102.00ÿ9.910000ÿnFÿ9.000000ÿ12.000000ÿ*C110
900950102.00ÿ98.469000ÿnFÿ85.000000ÿ112.000000ÿ*C111
900960102.00ÿ101.190000ÿnFÿ90.000000ÿ112.000000ÿ*C112
900970102.00ÿ89.190000ÿnFÿ80.000000ÿ120.000000ÿ*C113
900980102.00ÿ90.880000ÿnFÿ75.000000ÿ110.000000ÿ*C305
901000102.00ÿ212.420000ÿpFÿ70.000000ÿ260.000000ÿ*C307
901010102.00ÿ117.470000ÿuFÿ80.000000ÿ120.000000ÿ*C309_BLOCK15V
901020102.00ÿ1.010000ÿnFÿ0.900000ÿ1.130000ÿ*C500
901030102.00ÿ0.883000ÿnFÿ0.750000ÿ1.100000ÿ*C502
901070102.00ÿ486.148000ÿnFÿ456.000000ÿ627.000000ÿ*C211_C208
901100102.00ÿ61.320000ÿuFÿ50.320000ÿ74.800000ÿ*C210
901110102.00ÿ89.840000ÿnFÿ80.000000ÿ120.000000ÿ*C213
901120102.00ÿ10.690000ÿnFÿ8.000000ÿ12.000000ÿ*C300
901130102.00ÿ1.010000ÿnFÿ0.900000ÿ1.100000ÿ*C301
901140102.00ÿ1.077000ÿuFÿ0.880000ÿ1.320000ÿ*C401_C410
901150102.00ÿ1.090000ÿuFÿ0.880000ÿ1.320000ÿ*C402_C411
901160102.00ÿ1.109000ÿuFÿ0.880000ÿ1.320000ÿ*C403_C412
901170102.00ÿ21.546000ÿnFÿ15.400000ÿ26.400000ÿ*C209
901180102.00ÿ211.880000ÿnFÿ154.000000ÿ242.000000ÿ*C302
901190102.00ÿ205.310000ÿnFÿ187.000000ÿ242.000000ÿ*C303
901230102.00ÿ140.190000ÿpFÿ80.000000ÿ180.000000ÿ*C310
901250102.00ÿ4.720000ÿnFÿ3.760000ÿ5.640000ÿ*C205
901270102.00ÿ4.707000ÿnFÿ3.995000ÿ5.405000ÿ*C207
901290102.00ÿ0.992000ÿnFÿ0.900000ÿ1.100000ÿ*C306
901310102.00ÿ98.286000ÿnFÿ85.000000ÿ115.000000ÿ*C114
901320102.00ÿ0.450000ÿ ÿ0.400000ÿ0.600000ÿ*V101
901330102.00ÿ0.613000ÿ ÿ0.560000ÿ0.840000ÿ*V200_1
901340102.00ÿ0.603000ÿ ÿ0.560000ÿ0.840000ÿ*V200_2
901350102.00ÿ0.601000ÿ ÿ0.560000ÿ0.840000ÿ*V200_3
901360102.00ÿ0.601000ÿ ÿ0.560000ÿ0.840000ÿ*V200_4
901370102.00ÿ0.515000ÿ ÿ0.400000ÿ0.600000ÿ*V201
901380102.00ÿ0.554000ÿ ÿ0.400000ÿ0.600000ÿ*V202
901390102.00ÿ0.355000ÿ ÿ0.175000ÿ0.840000ÿ*V203
901400102.00ÿ0.566000ÿ ÿ0.420000ÿ0.780000ÿ*V204
901410102.00ÿ0.635000ÿ ÿ0.560000ÿ0.840000ÿ*V301
901420102.00ÿ0.667000ÿ ÿ0.560000ÿ0.840000ÿ*V303_1
901430102.00ÿ0.664000ÿ ÿ0.560000ÿ0.840000ÿ*V303_2
901440102.00ÿ0.742000ÿ ÿ0.720000ÿ0.880000ÿ*V301
901450102.00ÿ0.752000ÿ ÿ0.630000ÿ0.840000ÿ*V500
901460102.00ÿ0.635000ÿ ÿ0.560000ÿ0.840000ÿ*V501
901470102.00ÿ0.822000ÿ ÿ0.720000ÿ0.880000ÿ*V307
901490102.00ÿ0.503000ÿ ÿ0.400000ÿ0.600000ÿ*V401
901500102.00ÿ0.522000ÿ ÿ0.400000ÿ0.600000ÿ*V402
901510102.00ÿ0.530000ÿ ÿ0.400000ÿ0.600000ÿ*V403
901520102.00ÿ0.486000ÿ ÿ0.400000ÿ0.600000ÿ*V400
901530102.00ÿ0.481000ÿ ÿ0.400000ÿ0.600000ÿ*V404
901540102.00ÿ0.481000ÿ ÿ0.400000ÿ0.600000ÿ*V405
901550102.00ÿ1.362000ÿ ÿ1.040000ÿ1.560000ÿ*OC500
901560102.00ÿ0.784000ÿVÿ0.555000ÿ1.031000ÿ*U100_1
901570102.00ÿ0.784000ÿVÿ0.555000ÿ1.031000ÿ*U100_2
901580102.00ÿ0.784000ÿVÿ0.555000ÿ1.031000ÿ*U100_3
901590102.00ÿ0.754000ÿVÿ0.555000ÿ1.031000ÿ*U100_4
901600102.00ÿ0.776000ÿVÿ0.555000ÿ1.031000ÿ*U100_5
901610102.00ÿ0.779000ÿVÿ0.555000ÿ1.031000ÿ*U100_6
901620102.00ÿ0.754000ÿVÿ0.555000ÿ1.031000ÿ*U100_7
901660102.00ÿ0.530000ÿVÿ0.350000ÿ0.650000ÿ*U100_11
901670102.00ÿ0.789000ÿVÿ0.555000ÿ1.031000ÿ*U100_12
901680102.00ÿ0.784000ÿVÿ0.555000ÿ1.031000ÿ*U100_13
901690102.00ÿ0.784000ÿVÿ0.555000ÿ1.031000ÿ*U100_14
901700102.00ÿ0.735000ÿVÿ0.555000ÿ1.031000ÿ*U100_15
901710102.00ÿ0.693000ÿVÿ0.555000ÿ1.031000ÿ*U100_16
901720102.00ÿ0.776000ÿVÿ0.555000ÿ1.031000ÿ*U100_17
901730102.00ÿ0.630000ÿVÿ0.555000ÿ1.031000ÿ*U100_18
901740102.00ÿ0.781000ÿVÿ0.555000ÿ1.031000ÿ*U100_19
901750102.00ÿ0.693000ÿVÿ0.555000ÿ1.031000ÿ*U100_20
901760102.00ÿ0.774000ÿVÿ0.555000ÿ1.031000ÿ*U100_21
901770102.00ÿ0.691000ÿVÿ0.555000ÿ1.031000ÿ*U100_22
901780102.00ÿ0.776000ÿVÿ0.555000ÿ1.031000ÿ*U100_23
901790102.00ÿ0.789000ÿVÿ0.555000ÿ1.031000ÿ*U100_24
901800102.00ÿ0.793000ÿVÿ0.555000ÿ1.031000ÿ*U100_25
901810102.00ÿ0.781000ÿVÿ0.555000ÿ1.031000ÿ*U100_26
901820102.00ÿ0.784000ÿVÿ0.555000ÿ1.031000ÿ*U100_27
901830102.00ÿ0.786000ÿVÿ0.555000ÿ1.031000ÿ*U100_28
901840102.00ÿ0.776000ÿVÿ0.555000ÿ1.031000ÿ*U100_29
901850102.00ÿ0.779000ÿVÿ0.555000ÿ1.031000ÿ*U100_30
901860102.00ÿ0.781000ÿVÿ0.555000ÿ1.031000ÿ*U100_31
901870102.00ÿ0.737000ÿVÿ0.555000ÿ1.031000ÿ*U100_33
901880102.00ÿ0.735000ÿVÿ0.555000ÿ1.031000ÿ*U100_34
901890102.00ÿ0.728000ÿVÿ0.555000ÿ1.031000ÿ*U100_35
901900102.00ÿ0.718000ÿVÿ0.555000ÿ1.031000ÿ*U100_36
901920102.00ÿ0.715000ÿVÿ0.555000ÿ1.031000ÿ*U100_38
901940102.00ÿ0.786000ÿVÿ0.555000ÿ1.031000ÿ*U100_40
901950102.00ÿ0.784000ÿVÿ0.555000ÿ1.031000ÿ*U100_41
901960102.00ÿ0.784000ÿVÿ0.555000ÿ1.031000ÿ*U100_42
901970102.00ÿ0.781000ÿVÿ0.555000ÿ1.031000ÿ*U100_43
901980102.00ÿ0.759000ÿVÿ0.555000ÿ1.031000ÿ*U100_45
901990102.00ÿ0.527000ÿVÿ0.350000ÿ0.650000ÿ*U100_46
902000102.00ÿ0.532000ÿVÿ0.350000ÿ0.650000ÿ*U100_47
902010102.00ÿ0.784000ÿVÿ0.555000ÿ1.031000ÿ*U100_48
902020102.00ÿ2.167000ÿHÿ0.050000ÿ10.000000ÿ*L200_1
902030102.00ÿ2.193000ÿHÿ0.050000ÿ10.000000ÿ*L200_2
902040102.00ÿ530.071000ÿuHÿ448.000000ÿ672.000000ÿ*L201
902050102.00ÿ0.690000ÿ ÿ0.560000ÿ0.840000ÿ*K600_SPULE
902060102.00ÿ23.270000ÿ ÿ10.000000ÿ30.000000ÿ*K600_SCHLIESS
902070102.00ÿ0.660000ÿVHÿ0.490000ÿ0.910000ÿ*L500_V503_1
902080102.00ÿ0.664000ÿVHÿ0.490000ÿ0.910000ÿ*L500_V503_2
902090102.00ÿ0.664000ÿVHÿ0.490000ÿ0.910000ÿ*L501_V504_1
902100102.00ÿ0.667000ÿVHÿ0.490000ÿ0.910000ÿ*L501_V504_2
902110102.00ÿ2.068000ÿ ÿ1.800000ÿ2.200000ÿ*V502
103.60ÿ100.000000ÿVÿ90.000000ÿ120.000000ÿ*Spannung hochgelaufen?
104.20ÿ99.920000ÿVÿ98.000000ÿ102.000000ÿ*DMM Versorgungsspannung Modul messen =>
104.60ÿ1.000000ÿmAÿ0.000000ÿ100.000000ÿ*Strom messen => bei Fehler Abbruch
111.20ÿ14.790000ÿVÿ14.400000ÿ17.500000ÿ*DMM Spannung messen => bei Fehler Abbru
112.20ÿ4.980000ÿVÿ4.800000ÿ5.200000ÿ*DMM Spannung messen => bei Fehler Abbru
124.00ÿ14.960000ÿVÿ14.500000ÿ15.500000ÿ*DMM Spannung messen => bei Fehler Abbru
127.00ÿ4.980000ÿVÿ4.800000ÿ5.200000ÿ*DMM Spannung messen => bei Fehler Abbru
137.04ÿ1.000000ÿ ÿ1.000000ÿ1.000000ÿ*Ergebnis Programmieren toshiba
202.00ÿ888.000000ÿ ÿ888.000000ÿ888.000000ÿ*Überprüfen der Firmware (soll 8.88); DP
204.00ÿ17579.000000ÿ ÿ15000.000000ÿ18500.000000ÿ*Lesen AD0 IZK1 ; DP 0, Wert 2
205.00ÿ17696.000000ÿ ÿ15000.000000ÿ18000.000000ÿ*Lesen AD1 IZK2 ; DP 2, Wert 2
206.00ÿ21923.000000ÿ ÿ20000.000000ÿ24000.000000ÿ*Lesen AD2 Modultemperatur; DP 4, Wert 2
207.00ÿ22242.000000ÿ ÿ20000.000000ÿ24000.000000ÿ*Lesen AD3 UZK ; DP 6, Wert 2
208.00ÿ13842.000000ÿ ÿ12000.000000ÿ15500.000000ÿ*Lesen AD4 Poti Position; DP 8, Wert 2
209.00ÿ0.000000ÿ ÿ0.000000ÿ50.000000ÿ*Lesen AD5 ; DP 10, Wert 2
210.00ÿ20123.000000ÿ ÿ17000.000000ÿ21000.000000ÿ*Lesen AD6 EN60335 Relais Status; DP 12,
211.00ÿ0.000000ÿ ÿ0.000000ÿ50.000000ÿ*Lesen AD7; DP 14, Wert 2
211.25ÿ4.970000ÿVÿ4.800000ÿ5.200000ÿ* Test SD-Signal
211.40ÿ0.630000ÿVÿ0.000000ÿ1.000000ÿ* Test SD-Signal
217.00ÿ8.000000ÿ ÿ8.000000ÿ8.000000ÿ*Auswerten Motormode
227.00ÿ15.970000ÿkHzÿ15.000000ÿ8055.000000ÿ*Messe Frequenz U
229.00ÿ20.520000ÿµsÿ18.000000ÿ56.000000ÿ*Messe PWM (on)U
234.00ÿ15.950000ÿkHzÿ15.000000ÿ16.000000ÿ*Messe Frequenz V
236.00ÿ37.420000ÿµsÿ36.000000ÿ44.000000ÿ*Messe PWM (on)V
241.00ÿ15.930000ÿkHzÿ15.000000ÿ16.000000ÿ*Messe Frequenz W
243.00ÿ8.260000ÿµsÿ3.000000ÿ15.000000ÿ*Messe PWM (on)W
250.60ÿ2068.000000ÿ ÿ1850.000000ÿ2150.000000ÿ*PWM 10% ,DP 241, Wert 2
250.80ÿ4970.000000ÿ ÿ4850.000000ÿ5150.000000ÿ*PWM 40% ,DP 241, Wert 2
251.00ÿ7997.000000ÿ ÿ7850.000000ÿ8150.000000ÿ*PWM 70% ,DP 241, Wert 2
260.00ÿ0.000000ÿ ÿ0.000000ÿ0.000000ÿ*ID prüfen
260.11ÿ1.000000ÿ ÿ1.000000ÿ1.000000ÿ*Erechneten Wert Auswerten (Modulvariant
260.20ÿ3.000000ÿ ÿ3.000000ÿ3.000000ÿ*Erechneten Wert Auswerten (nicht invert


Du wolltest es so haben face-smile

Davon habe ich jede Menge !!


VB probiert gerade ein Kollege, aber ich würde gerne mehr mit Batch machen, das die Umbegung so schön einfach scheint.
Man benötigt halt für Batch keine "Entwicklungsumgebung" und auch keine Lizenzen o.ä.

MFG tueftler
Mitglied: 60730
60730 Sep 12, 2011 at 20:21:14 (UTC)
Goto Top
Zitat von @tueftler:
Hallo bastla,
Du wolltest es so haben face-smile

Nein Bastla "wollte" Beispiele zwischen <code> und </code> Tags.
VB probiert gerade ein Kollege, aber ich würde gerne mehr mit Batch machen, das die Umbegung so schön einfach scheint.
  • lol
Man benötigt halt für Batch keine "Entwicklungsumgebung" und auch keine Lizenzen o.ä.
Ab xxx Zeilen sollte man der Entwicklungsumgebung Bastla aber schon eine Lizens spendieren.

MFG tueftler

Nomen not est omen?
*scnr
Wär nett gewesen, wenn du mir mal geschrieben hättest, woher du das @echo off kennst...

edit
Sie nannten Ihn Bastla, den geduldigen face-wink
/edit
Member: bastla
bastla Sep 12, 2011 at 20:22:49 (UTC)
Goto Top
Hallo tueftler!
Du wolltest es so haben face-smile
Eigentlich wollte ich die Testdaten auch mit Codeformatierung face-wink ...
Man benötigt halt für Batch keine "Entwicklungsumgebung" und auch keine Lizenzen o.ä.
Abgesehen davon, dass ich VBScript angesprochen hatte (wofür auch beides nicht erforderlich ist), gibt es auch eine kostenfreie VB-Version (aktuell VB-Express 2010)
Kannst Du bitte noch erklären, was es mit
IF %2 EQU %ICTRESULT% (
auf sich hat?

Außerdem: Gibt es die Zeile "TABLE" nur ein einziges Mal in jeder Datei, und wenn ja: Können die Zeilen davor ignoriert werden?
[Edit] Alleine schon wegen des Vergleichs der (Dezimal-)Werte in Batch eher unhandlich, daher eine VBS-Version:
Ein = "XXX.out"  
Aus = "output.log"  
Delim = "ÿ"  

' Schleifenzähler laden  
CYCLE = 1
Label = "TABLE"  
ICTRESULT = "0.000000"  
Z = 1

Set fso = CreateObject("Scripting.FileSystemObject")  
EinZeilen = Split(fso.OpenTextFile(Ein).ReadAll, vbCrLf) 'alle Zeilen einlesen  

' erzeuge Dummy Header Zeile fuer Log-File Start  
AusZeilen = "08292011_35.log;08292011;06:26:02"  

For Each Zeile In EinZeilen 'alle Zeilen durchgehen  
    If Zeile = Label Then
        AusZeilen = AusZeilen & vbCrLf & "/"  
        AusZeilen = AusZeilen & vbCrLf & "@;004122672;%Z%;08292011;" & Z & ";1-6m;DUT2(06:26:03)"  
        WScript.Echo CYCLE & " Testlauefe bearbeitet" 'Bildschirmausgabe  
        CYCLE = CYCLE + 1
    Else
        F = Split(Zeile, Delim) 'Zeile anhand des Delimiters in Felder zerlegen (nullbasiertes Array)  
        If UBound(F) >= 1 Then 'mindestens 2 Felder?  
            If F(1) = ICTRESULT Then
                AusZeilen = AusZeilen & vbCrLf & """"  
                AusZeilen = AusZeilen & vbCrLf & "@;004122672;%Z%;08292011;" & Z & ";1-6m;DUT2(06:26:03)"  
                WScript.Echo CYCLE & " Testlauefe bearbeitet" 'Bildschirmausgabe  
                CYCLE = CYCLE + 1
            End If

            If IsNumeric(F(1)) And IsNumeric(F(3)) And IsNumeric(F(4)) Then 'Zahlen in den Feldern 2, 4 und 5?  
                If CDbl(F(1)) >= CDbl(F(3)) And CDbl(F(1)) <= CDbl(F(4)) Then  'Numerischen Vergleich durchführen  
                    AusZeilen = AusZeilen & vbCrLf & F(5) & "=" & F(1) & "(" & F(3) & "," & F(4) & ")" & F(2) 'Ausgabezeile für "IO"  
                Else
                    AusZeilen = AusZeilen & vbCrLf & F(5) & "<" & F(1) & "(" & F(3) & "," & F(4) & ")" & F(2) 'Ausgabezeile für "NIO"  
                End If
            End If
        End If
    End If
    WScript.Echo "bearbeitete Zeile: " & Right("    " & Z, 5) 'Bildschirmausgabe  
    Z = Z + 1
Next
fso.CreateTextFile(Aus).WriteLine AusZeilen 'Ausgabezeilen in Ausgabedatei schreiben  
Bitte mit
cscript //nologo "D:\Scriptname.vbs"
in der CMD-Shell starten!
@t-mo
Sie nannten Ihn Bastla, den geduldigen face-wink
War das nicht eher die Beschreibung für "Biber am Montag"? face-wink
[/Edit]

Grüße
bastla