Text in Textdatei suchen und folgende Zahl in neuer Textdatei speichern.
Hallo,
mir sind sämtliche Kassenberichte des Jahres verbrannt.
Ich habe die Bons alle als Tägliches Textfile auf meinem USB Stick.
Ich möchte gerne die Bons zusammenrechnen, habe aber keine Lust jeden einzelnen Artikel
in de Taschenrechner zu hämmern um an die Tagessumme zu kommen.
Das Textfile so aus:
Anfang Textfile "001_23.09.07b.jor"
Kunde: 37870
CAPPUCCINO SCHAUM 1,80
CAPPUCCINO SCHAUM 1,80
CAPPUCCINO SCHAUM 1,80
Zu zahlen EUR 5,40
19% Mwst, Ges.-Betrag: 5,40
*7% Mwst, Ges.-Betrag: 0,00
Anzahl der Artikel 3
23.09.07 001 10:30:32
Zu zahlen EUR 5,40
19% Mwst, Ges.-Betrag: 5,40
*7% Mwst, Ges.-Betrag: 0,00
Anzahl der Artikel 3
23.09.07 001 10:30:47
Kunde: 37871
3 EISKUGELN 1,50
PORTION SAHNE 0,50
PORTION SAHNE 0,50
Zu zahlen EUR 2,50
19% Mwst, Ges.-Betrag: 2,50
*7% Mwst, Ges.-Betrag: 0,00
Anzahl der Artikel 3
23.09.07 001 11:20:35
Kunde: 37872
2 EISKUGELN 1,00
2 EISKUGELN 1,00
PORTION SAHNE 0,50
Zu zahlen EUR 2,50
19% Mwst, Ges.-Betrag: 2,50
*7% Mwst, Ges.-Betrag: 0,00
Anzahl der Artikel 3
23.09.07 001 12:08:54
Kunde: 37873
CAPPUCCINO SCHAUM 1,80
CAPPUCCINO SCHAUM 1,80
Zu zahlen EUR 3,60
19% Mwst, Ges.-Betrag: 3,60
*7% Mwst, Ges.-Betrag: 0,00
Anzahl der Artikel 2
23.09.07 001 12:09:11
Kunde: 37874
KINDERSPAGHETTI 2,00
KINDERSPAGHETTI 2,00
2 EISKUGELN 1,00
Zu zahlen EUR 5,00
19% Mwst, Ges.-Betrag: 5,00
*7% Mwst, Ges.-Betrag: 0,00
Anzahl der Artikel 3
23.09.07 001 12:20:57
Kunde: 37875
4 EISKUGELN 2,00
AFTER EIGHT BECHER 4,20
Zu zahlen EUR 6,20
19% Mwst, Ges.-Betrag: 6,20
*7% Mwst, Ges.-Betrag: 0,00
Anzahl der Artikel 2
23.09.07 001 12:25:57
Ende Textfile"001_23.09.07b.jor"
Ich brauche eigentlich nur die Zahl hinter: "19% Mwst, Ges.-Betrag: "
von jedem Kunden in eine neue Datei, die ich in Excel zusammenrechnen lasse.
Die neue Datei hätte dann den Inhalt:
3,60
5,00
6,20
usw.......
(Also immer nur die Endbeträge eines jeden Kunden)
Als Suchkriterium würde ich "19% Mwst, Ges.-Betrag: " nehmen und
dann nur die Zahl dahinter in eine neue Textdatei speichern.
Am Ende habe ich eine Textdatei die ich in Excel auswerten kann.
Schön wäre es auch wenn die Batchdatei alle meine TagesBons öffnet und bearbeitet.
Die Dateinamen setzen sich ja aus dem Datum zusammen:
z.B. "001_23.09.07.jor" - "001_24.09.07.jor" - "001_25.09.07.jor" usw.
Tipps?
mir sind sämtliche Kassenberichte des Jahres verbrannt.
Ich habe die Bons alle als Tägliches Textfile auf meinem USB Stick.
Ich möchte gerne die Bons zusammenrechnen, habe aber keine Lust jeden einzelnen Artikel
in de Taschenrechner zu hämmern um an die Tagessumme zu kommen.
Das Textfile so aus:
Anfang Textfile "001_23.09.07b.jor"
Kunde: 37870
CAPPUCCINO SCHAUM 1,80
CAPPUCCINO SCHAUM 1,80
CAPPUCCINO SCHAUM 1,80
Zu zahlen EUR 5,40
19% Mwst, Ges.-Betrag: 5,40
*7% Mwst, Ges.-Betrag: 0,00
Anzahl der Artikel 3
23.09.07 001 10:30:32
Zu zahlen EUR 5,40
19% Mwst, Ges.-Betrag: 5,40
*7% Mwst, Ges.-Betrag: 0,00
Anzahl der Artikel 3
23.09.07 001 10:30:47
Kunde: 37871
3 EISKUGELN 1,50
PORTION SAHNE 0,50
PORTION SAHNE 0,50
Zu zahlen EUR 2,50
19% Mwst, Ges.-Betrag: 2,50
*7% Mwst, Ges.-Betrag: 0,00
Anzahl der Artikel 3
23.09.07 001 11:20:35
Kunde: 37872
2 EISKUGELN 1,00
2 EISKUGELN 1,00
PORTION SAHNE 0,50
Zu zahlen EUR 2,50
19% Mwst, Ges.-Betrag: 2,50
*7% Mwst, Ges.-Betrag: 0,00
Anzahl der Artikel 3
23.09.07 001 12:08:54
Kunde: 37873
CAPPUCCINO SCHAUM 1,80
CAPPUCCINO SCHAUM 1,80
Zu zahlen EUR 3,60
19% Mwst, Ges.-Betrag: 3,60
*7% Mwst, Ges.-Betrag: 0,00
Anzahl der Artikel 2
23.09.07 001 12:09:11
Kunde: 37874
KINDERSPAGHETTI 2,00
KINDERSPAGHETTI 2,00
2 EISKUGELN 1,00
Zu zahlen EUR 5,00
19% Mwst, Ges.-Betrag: 5,00
*7% Mwst, Ges.-Betrag: 0,00
Anzahl der Artikel 3
23.09.07 001 12:20:57
Kunde: 37875
4 EISKUGELN 2,00
AFTER EIGHT BECHER 4,20
Zu zahlen EUR 6,20
19% Mwst, Ges.-Betrag: 6,20
*7% Mwst, Ges.-Betrag: 0,00
Anzahl der Artikel 2
23.09.07 001 12:25:57
Ende Textfile"001_23.09.07b.jor"
Ich brauche eigentlich nur die Zahl hinter: "19% Mwst, Ges.-Betrag: "
von jedem Kunden in eine neue Datei, die ich in Excel zusammenrechnen lasse.
Die neue Datei hätte dann den Inhalt:
3,60
5,00
6,20
usw.......
(Also immer nur die Endbeträge eines jeden Kunden)
Als Suchkriterium würde ich "19% Mwst, Ges.-Betrag: " nehmen und
dann nur die Zahl dahinter in eine neue Textdatei speichern.
Am Ende habe ich eine Textdatei die ich in Excel auswerten kann.
Schön wäre es auch wenn die Batchdatei alle meine TagesBons öffnet und bearbeitet.
Die Dateinamen setzen sich ja aus dem Datum zusammen:
z.B. "001_23.09.07.jor" - "001_24.09.07.jor" - "001_25.09.07.jor" usw.
Tipps?
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 69900
Url: https://administrator.de/contentid/69900
Ausgedruckt am: 25.11.2024 um 01:11 Uhr
4 Kommentare
Neuester Kommentar
Hallo mgrotjans und willkommen im Forum!
Üble Sache, die Dir da passiert ist.
Zu Deinem Vorhaben vielleicht noch eine Ergänzung: Wenn sich schon das Datum aus dem Dateinamen rekonstruieren lässt, wäre es vielleicht sinnvoll, es auch jeweils zusammen mit dem Betrag zu speichern, also etwa so:
In der obigen Batchdatei musst Du natürlich noch die Pfade für den Ordner mit den einzelnen Textdateien ("C:\Kassenberichte", oder wohin Du eben die Dateien vom Stick kopiert hast) und für die Zieldatei anpassen.
Grüße
bastla
Üble Sache, die Dir da passiert ist.
Zu Deinem Vorhaben vielleicht noch eine Ergänzung: Wenn sich schon das Datum aus dem Dateinamen rekonstruieren lässt, wäre es vielleicht sinnvoll, es auch jeweils zusammen mit dem Betrag zu speichern, also etwa so:
@echo off & setlocal
set "Quelle=C:\Kassenberichte"
set "Liste=C:\Umsatzliste.txt"
if exist "%Liste%" del "%Liste%"
for /f "delims=" %%i in ('dir /b /od "%Quelle%\*.jor"') do call :ProcessFile "%Quelle%\%%i"
goto :eof
:ProcessFile
for /f "tokens=2 delims=_" %%n in ('echo %~n1') do set "Dat=%%n"
set "Dat=%Dat:~0,-1%"
for /f "tokens=2 delims=:" %%b in ('findstr /c:"19%% Mwst, Ges.-Betrag: " %1') do (echo %Dat%;%%b)>>"%Liste%"
Grüße
bastla
Hallo mgrotjans!
Lösung: Streiche die Zeile
ersatzlos.
Grüße
bastla
Bei dem Datum fehlt am ende die 7.
Ich war von Deinem ganz oben geposteten (Anfang Textfile "001_23.09.07b.jor") Dateinamen ausgegangen und wollte das überschüssige "b" eliminieren ...Lösung: Streiche die Zeile
set "Dat=%Dat:~0,-1%"
Kann mann das Leerzeichen zwischen dem Semikolon und der Summe auch weglassen??
Grundsätzlich: ja - allerdings sollte es beim Import in Excel nicht stören, weshalb ich mich nicht weiter darum gekümmert habe. Außerdem erschien mir ":" als Trennzeichen sicherer als die Leerstelle. Wenn Du es trotzdem versuchen willst, verwende folgende Zeile:for /f "tokens=4" %%b in ('findstr /c:"19%% Mwst, Ges.-Betrag: " %1') do (echo %Dat%;%%b)>>"%Liste%"
P.S. Warum ist im Suchstring das % zeichen 2 mal hinter der 19?
Analog zu den Laufvariablen einer "for"-Schleife, für die in Batch (nicht von der Kommandozeile) ebenfalls %% geschrieben werden muss ...Grüße
bastla