Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Text in Textdatei suchen und folgende Zahl in neuer Textdatei speichern.

Frage Entwicklung Batch & Shell

Mitglied: mgrotjans

mgrotjans (Level 1) - Jetzt verbinden

01.10.2007, aktualisiert 02.10.2007, 4666 Aufrufe, 4 Kommentare

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?
Mitglied: bastla
01.10.2007 um 15:53 Uhr
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:
01.
@echo off & setlocal 
02.
set "Quelle=C:\Kassenberichte" 
03.
set "Liste=C:\Umsatzliste.txt" 
04.
 
05.
if exist "%Liste%" del "%Liste%" 
06.
for /f "delims=" %%i in ('dir /b /od "%Quelle%\*.jor"') do call :ProcessFile "%Quelle%\%%i" 
07.
goto :eof 
08.
 
09.
:ProcessFile 
10.
for /f "tokens=2 delims=_" %%n in ('echo %~n1') do set "Dat=%%n" 
11.
set "Dat=%Dat:~0,-1%" 
12.
for /f "tokens=2 delims=:" %%b in ('findstr /c:"19%% Mwst, Ges.-Betrag: " %1') do (echo %Dat%;%%b)>>"%Liste%"
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
Bitte warten ..
Mitglied: mgrotjans
02.10.2007 um 09:07 Uhr
Hallo,
wirklich Super von Dir.
Das hat gut Funktioniert.
Du hast mir enorm geholfen und wenn Du aus meiner Ecke bist,
kannst Du Dir einen großen Eisbecher abholen!

Leider gibt es in der Ausgabe einen Haken:

Schnipp---Ausgabe Datei----

23.09.0; 5,40
23.09.0; 5,40
23.09.0; 2,50
23.09.0; 2,50
23.09.0; 3,60
23.09.0; 5,00
23.09.0; 6,20
23.09.0; 13,00


Schnipp---Ausgabe Datei----

Bei dem Datum fehlt am ende die 7.
Das mit dem Semikolon ist gut, weil das in Excel Prima zu trennen ist.
Kann mann das Leerzeichen zwischen dem Semikolon und der Summe auch weglassen??

Danke nochmals für die Hilfe.

P.S. Warum ist im Suchstring das % zeichen 2 mal hinter der 19?
Bitte warten ..
Mitglied: bastla
02.10.2007 um 09:38 Uhr
Hallo mgrotjans!

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
01.
set "Dat=%Dat:~0,-1%"
ersatzlos.

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:
01.
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
Bitte warten ..
Mitglied: mgrotjans
02.10.2007 um 10:49 Uhr
Klasse,
damit hast Du mir wirklich geholfen.

Ich habe mich schon die ganzen Preise mit dem Taschenrechner eintippen sehen.
Pro Tag ca. 1 Stunde! ;-(

Jetzt wirds wohl besser klappen.

Noch einmal herzlichen Dank!
Bitte warten ..
Neuester Wissensbeitrag
Windows 10

Powershell 5 BSOD

(2)

Tipp von agowa338 zum Thema Windows 10 ...

Ähnliche Inhalte
Batch & Shell
gelöst Powershell - In Textdatei suchen und ersetzen (5)

Frage von Raaja89 zum Thema Batch & Shell ...

Batch & Shell
Wert in Registry suchen und in Variable speichern (2)

Frage von J.Troll zum Thema Batch & Shell ...

Java
gelöst Textdatei in Array speichern (zeilenweise) (1)

Frage von Bruchsal zum Thema Java ...

Batch & Shell
Text in neue 1. Zeile in Textdatei einfügen (4)

Frage von FuxxLi zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
LAN, WAN, Wireless
gelöst Server erkennt Client nicht wenn er ausserhalb des DHCP Pools liegt (28)

Frage von Mar-west zum Thema LAN, WAN, Wireless ...

Windows Server
Server 2008R2 startet nicht mehr (Bad Patch 0xa) (18)

Frage von Haures zum Thema Windows Server ...

Outlook & Mail
Outlook 2010 findet ost datei nicht (18)

Frage von Floh21 zum Thema Outlook & Mail ...