benzfreak
Goto Top

Aus TEXT PDF Datei Zeilen kopieren und als txt speichern

Hallo Gemeinde,
ich möchte gern eine BATCH bauen mit der ich bestimmte Zeilen hinter ein Suchwort kopiere und in eine txt speichern kann.


Inhalt orginal:
BT
50 340 Td
( RMA No. IMN1333369925410) Tj
ET

BT
50 256 Td
(Touch + Gehäuse defekt ) Tj
ET

BT
370 382 Td
(S/N: 34400400335) Tj
ET

BT
370 368 Td
(P/N: 740A4300E100N000) Tj
ET


In der datei sind noch 1000 andere Zeichen und auch mehrere Geräte, ich brauche aber nur die Zeilen nach
50 340 Td
50 256 Td
370 382 Td
370 368 Td
Die Zeilen wiederholen sich immer wieder nur die Zeile danach hat immer anderen Inhalt


Ausgabe der gefilterten txt soll dann so aus sehen:

IMN1333369925410, 34400400335, 740A4300E100N000, Touch + Gehäuse defekt
IMN1333399255810, 34400038935, 740A4300E100N012, Scanner defekt
IMN1333325589870, 34488038935, 740A4300E980N012, Accu nur noch 70%

Ich habe aber kein plan wie ich das machen kann, da ich z.B. “(P/N: ) Tj“ auch noch wegschneiden möchte. Ich hoffe das war verständlich und entschuldigt mein Deutsch

Content-Key: 188801

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

Printed on: April 25, 2024 at 11:04 o'clock

Member: pieh-ejdsch
pieh-ejdsch Jul 30, 2012 updated at 14:49:24 (UTC)
Goto Top
moin benzfreak,

das könnte dann in etwa so geschehen:
@echo on
setlocal disabledelayedexpansion

set Datei="%userprofile%\datei"  
set NeueDatei="%userprofile%\Neue.txt"  

for /l %%i in (1 1 4) do set "L%%i=1"  

3>%NeueDatei% (
for /f "usebackqdelims=" %%i in (%datei%) do (  
  if not defined L1 for /f "tokens=3delims=() " %%i in ("%%i") do set "L1=%%i"  
  if not defined L2 for /f "tokens=2delims=() " %%i in ("%%i") do set "L2=%%i"  
  if not defined L4 for /f "delims=()" %%i in ("%%i") do set "L4=%%i"  
  if not defined L3 for /f "tokens=2delims=() " %%i in ("%%i") do set "L3=%%i" &setlocal enabledelayedexpansion&(  
    >&3 echo !L1!;!L2!;!L3!;!L4!
    endlocal
  )
  if "%%i" equ "50 340 Td" set "L1="  
  if "%%i" equ "50 256 Td" set "L4="  
  if "%%i" equ "370 382 Td" set "L2="  
  if "%%i" equ "370 368 Td" set "L3="  
)
)


Gruß Phil
Member: benzfreak
benzfreak Jul 31, 2012 at 09:16:13 (UTC)
Goto Top
Danke Phil,
das hat mir schon mal geholfen ich habe gestern auch schon was angefangen aber mit externer such liste und schreiben in externen Dateien die dann wieder eingelesen werden und beschnitten werden. Es wird aber immer unübersichtlicher heute Morgen musste ich mich erst selber wieder zu Recht finden.

Erster test von deiner Batch hat ergeben das er nur das erste Gerät in der Liste in die neue Datei schreibt. Aber das ist schon mal mehr als ich geschafft habe auch das Beschneiden der Zeile funtzt super. Werde heute Abend mal suchen woran das liegt sollte aber hin zubekommen sein

Gebe bei erfolg sofort Rückmeldung

MFG Benny