Top-Themen

Aktuelle Themen (A bis Z)

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

Umsatzanzeige mittels Batch per Laufschrift

Mitglied: leben-im-quadrat

leben-im-quadrat (Level 1) - Jetzt verbinden

19.03.2009, aktualisiert 18:31 Uhr, 4487 Aufrufe, 11 Kommentare

Hallo zusammen,

mein Chef hat mir aufgetragen für unserem Betrieb eine Laufschrift zu erstellen, welche den aktuellen Umsatz unseres Geschäfts und den Umsatz der einzelnen Warengruppen anzeigt.

Die Laufschrift habe ich soweit erstellt (einfacher Bildschirmschoner), so dass ich die Daten nur noch in eine TXT-Datei packen muss, welche ausgelesen wird.

Mein Problem sind die "Rohdaten" der Umsätze. Diese werden jede volle Minute in eine Datei mit dem Namen ums.wws1234 geschrieben und beinhaltet folgenden Text:

20090218;20050101;6000000;2225.52
20090218;20050101;6020000;1234.74
20090218;20050101;6100000;9876.05
20090218;20050101;6150000;6666.66
20090218;20050101;6200000;6872.03
usw.

Es gibt also pro Warengruppe eine Zeile nach dem Schema Datum;Uhrzeit;Warengruppe;Umsatz

Letztlich benötige ich aber eine Textdatei mit dem Namen laufschrift.txt, die ca. alle 5 Minuten mit den neuen Daten gefüttert wird und den Inhalt der ums.wws1234 folgendermaßen darstellt: Umsatz am 18.02.2009 um 20:05: WG600: 2225.25, WG602=1234.74, usw. Die Warengruppe ist immer 3stellig, daher werden die letzten 4 Nullen nicht benötigt. Am Ende soll noch der Gesamtumsatz aller Warengruppen angezeigt werden.

Ich weiss nicht, ob es sinnvoll ist das mit Batch zu programmieren oder doch besser mit VBS? Leider kenne ich mich mit beidem zu wenig aus. Mit Batch habe ich schon viel ausprobiert, aber ich bekomm es einfach nicht gebacken.

Habt ihr eine Idee?

Liebe Grüße,

Björn
Mitglied: miniversum
19.03.2009 um 19:41 Uhr
Mal ungetestet kannst du es damit versuchen:
01.
@echo off 
02.
set "infile=c:\rohdaten.txt" 
03.
set "outfile=c:\laufschrift.txt" 
04.
 
05.
set gesamtumsatz=0 
06.
set "datum=" 
07.
set "uhrzeit=" 
08.
set "listentext=" 
09.
FOR /F "tokens=1,2,3,4 delims=;" %%i in ("%infile%") do call:verarbeite %%i %%j %%k %%l 
10.
set "datum=%datum:~7,2%.%datum:~5,2%.%datum:~0,4%" 
11.
set "uhrzeit=%uhrzeit:~0,2%:%uhrzeit:~3,2%" 
12.
set "gesamtumsatz=%gesamtumsatz:~0,-3%.%gesamtumsatz:~-2%" 
13.
echo Umsatz am %datum% um %uhrzeit%: %listentext%Gesamtumsatz=%gesamtumsatz%>"%outfile%" 
14.
goto:eof 
15.
 
16.
:verarbeite 
17.
set datum=%%i 
18.
set uhrzeit=%%j 
19.
set "wg=%%k" 
20.
set "wg=%wg:0,3%" 
21.
set "umsatz=%%l" 
22.
set "listentext=%listentext%WG%wg%=%umsatz%, " 
23.
set "umsatz=%umsatz:.=%" 
24.
set /a gesamtumsatz+=umsatz 
25.
goto:eof
Bitte warten ..
Mitglied: leben-im-quadrat
19.03.2009 um 20:28 Uhr
Hallo und schon mal danke für die Antwort.

Da wirft er mir folgendes in der laufschrift.txt aus:

Umsatz am ..%i um %j:: WGwg:0,3=%l, Gesamtumsatz=.0

*grübel* Ich versuch mich aber mal anhand deiner Vorlage...
Bitte warten ..
Mitglied: Biber
19.03.2009 um 20:36 Uhr
Moin leben-im-quadrat,

willkommen im Forum.

Die Laufvariablen %%i, %%j, %%k und %%l, die "oben" als :call-Parameter RAUS gehen, die kommen "unten" in dem :call-Block ":verarbeite" an als %1, %2, %3 %4.

Ändere das, und Du bist dem Ziel näher.

Grüße
Biber
Bitte warten ..
Mitglied: miniversum
19.03.2009 um 20:53 Uhr
Hier die Korrigierte und getestete Version:
01.
@echo off 
02.
set "infile=rohdaten.txt" 
03.
set "outfile=laufschrift.txt" 
04.
 
05.
set gesamtumsatz=0 
06.
set "datum=" 
07.
set "uhrzeit=" 
08.
set "listentext=" 
09.
FOR /F "tokens=1,2,3,4 delims=;" %%i in ('type "%infile%"') do call:verarbeite %%i %%j %%k %%l 
10.
set "datum=%datum:~7,2%.%datum:~5,2%.%datum:~0,4%" 
11.
set "uhrzeit=%uhrzeit:~0,2%:%uhrzeit:~3,2%" 
12.
set "gesamtumsatz=%gesamtumsatz:~0,-3%.%gesamtumsatz:~-2%" 
13.
echo Umsatz am %datum% um %uhrzeit%: %listentext%Gesamtumsatz=%gesamtumsatz%>"%outfile%" 
14.
goto:eof 
15.
 
16.
:verarbeite 
17.
set "datum=%1" 
18.
set "uhrzeit=%2" 
19.
set "wg=%3" 
20.
set "wg=%wg:~0,3%" 
21.
set "umsatz=%4" 
22.
set "listentext=%listentext%WG%wg%=%umsatz%, " 
23.
set umsatz=%umsatz:.=% 
24.
set /a gesamtumsatz+=%umsatz% 
25.
goto:eof
Der gesamtumsatz stimmt aber nicht.d as liegt daran das der rechenwert die 65535 übersteigt.
Hier wäre eine temponäre vbs datei besser.

edit: @Biber: Hab ich ach grade bemerkt. war ein flüchtigkeitsfehler vonmri wiel ich es erst oben in klammern hatte.
Aber einanderer fahler hate sich auch noch versteckt. ;)
Bitte warten ..
Mitglied: leben-im-quadrat
19.03.2009 um 21:14 Uhr
Perfekt, klappt wunderbar. Lediglich die Zeile in der das Datum definiert wird habe ich auf

01.
set "datum=%datum:~6,2%.%datum:~4,2%.%datum:~0,4%"
abgeändert, da es bei mir falsch dargestellt wurde.

VIELEN DANK!!!

Jetzt muss ich nur mal nachfragen, ob ich den Gesamtumsatz wirklich brauche, da der ja leider nicht stimmt. Oder habt ihr da auch spontan eine Lösung parat? ;)
Bitte warten ..
Mitglied: miniversum
19.03.2009 um 21:34 Uhr
Mit vbs würde es gehen.
Ersetze mal Zeile 24 durch diese:
01.
echo WScript.Echo CLng(WScript.Arguments(0))+CLng(WScript.Arguments(1))>"%temp%\v.vbs" 
02.
FOR /F "delims=" %%i in ('cscript //nologo "%temp%\v.vbs" %gesamtumsatz% %umsatz%') do set "gesamtumsatz=%%i" 
03.
del "%temp%\v.vbs"
je nach dme kansn tud dann sogar die Zeilen 12 und 23 weglassen.

edit: wscript in cscript geändert
Bitte warten ..
Mitglied: leben-im-quadrat
19.03.2009 um 22:08 Uhr
Klappt leider nicht. Er schaffts nicht über die 65535 hinaus... hatte es gerade mal mit den aktuellen Daten probiert und es fehlen 200000 EUR ;) Alles andere wird wunderbar dargestellt.
Bitte warten ..
Mitglied: leben-im-quadrat
19.03.2009 um 22:14 Uhr
Moment, ich hab grade die Zeile 12 rausgenommen und er zeigt mir jetzt den korrekten Wert

Gesamtumsatz=19404903

an. Jedoch fehlt das Komma vor den letzten zwei Ziffern. Also Gesamtumsatz=194049,03.
Bitte warten ..
Mitglied: miniversum
20.03.2009 um 17:48 Uhr
Genau dieser Punkt wird eigentlich in Zeile 12 eingefügt.
Die lösung mit der temponären vbs datei funktioniert nicht?
Bitte warten ..
Mitglied: leben-im-quadrat
20.03.2009 um 19:09 Uhr
Wenn ich Zeile 12 drinhabe funktioniert das Script derzeit garnicht. Ohne Zeile 12 läufts perfekt. Ich habe auch schon etwas rumexperimentiert, aber auch noch keine Lösung gefunden.

Gegebenenfalls kann man beim Gesamtumsatz einfach die Nachkommastelle weglassen, da die "Centbeträge" hier eh keinen interessieren. Das wäre vielleicht noch ein Ansatz...
Bitte warten ..
Mitglied: miniversum
21.03.2009 um 09:42 Uhr
So es ist samstag und ich hab das Ganze nochmal bei mir angetestet.
So gehts bie mir, auch mit einem Gesamtumsatz über 65535
01.
@echo off 
02.
set "infile=rohdaten.txt" 
03.
set "outfile=laufschrift.txt" 
04.
 
05.
set gesamtumsatz=0 
06.
set "datum=" 
07.
set "uhrzeit=" 
08.
set "listentext=" 
09.
FOR /F "tokens=1,2,3,4 delims=;" %%i in ('type "%infile%"') do call:verarbeite %%i %%j %%k %%l 
10.
set "datum=%datum:~6,2%.%datum:~4,2%.%datum:~0,4%" 
11.
set "uhrzeit=%uhrzeit:~0,2%:%uhrzeit:~3,2%" 
12.
set "gesamtumsatz=%gesamtumsatz:~0,-2%.%gesamtumsatz:~-2%" 
13.
echo Umsatz am %datum% um %uhrzeit%: %listentext%Gesamtumsatz=%gesamtumsatz%>"%outfile%" 
14.
goto:eof 
15.
 
16.
:verarbeite 
17.
set "datum=%1" 
18.
set "uhrzeit=%2" 
19.
set "wg=%3" 
20.
set "wg=%wg:~0,3%" 
21.
set "umsatz=%4" 
22.
set "listentext=%listentext%WG%wg%=%umsatz%, " 
23.
set umsatz=%umsatz:.=% 
24.
set /a gesamtumsatz+=%umsatz% 
25.
goto:eof
Kannst ja nochmal antesten...
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
Batch: Batch in batch in cfg schreiben
gelöst Frage von pixelBfBatch & Shell2 Kommentare

Hayy, ich bin neu hier im forum:)) Meine frage: Kann ich eine batch schreiben die was in eine batch ...

Batch & Shell

Batch aus Batch mit anderen Rechten starten

gelöst Frage von thilo-55Batch & Shell15 Kommentare

Hallo zusammen, bin schier am verzweifeln: System ist Win7 mit Benutzer "User" mit user-rechten und "Admin" mit admin-rechten (wer ...

Batch & Shell

Wie ändert eine batch eine bestimmte zeile in einer anderen batch

Frage von J4YK0BBatch & Shell3 Kommentare

Wie schreibt eine batch eine andere batch um, aber nur eine SPEZIELLE zeile? Das System ist wiefolgt. Man gibt ...

Batch & Shell

Womit kann ich in einer Batch viertelstündlich eine andere Batch aufrufen?

Frage von red-eyeBatch & Shell16 Kommentare

Hallo allerseits! Seit drei Stunden versuche ich selbst einen geeigneten Befehl zu finden, bzw. hier im Forum eine Antwort ...

Neue Wissensbeiträge
Windows 7

Windows 7 - Server 2008 R2: Exploit für Total Meltdown verfügbar

Information von kgborn vor 15 MinutenWindows 7

Kleine Information für Administratoren, die für die Updates von Windows 7 SP1 und Windows Server 2008 R2 SP1 verantwortlich ...

Sicherheit

Zero Day-Schwachstelle im Internet Explorer - wird von APT bereits ausgenutzt

Information von kgborn vor 10 StundenSicherheit

Im Kernel des Internet Explorer scheint es eine Zero Day-Lücke zu geben, die von staatlichen Akteuren (APT) im Rahmen ...

Microsoft
Folder Security Viewer-Lizenzen zu gewinnen
Information von kgborn vor 11 StundenMicrosoft

Ich nehme das Thema mal in Absprache mit Frank hier auf, da es für den einen oder anderen Administrator ...

Hardware

Feueralarm killt Festplatten in Rechenzentrum - führt zu größerem Ausfall

Information von kgborn vor 11 StundenHardware11 Kommentare

Noch ein kleiner Beitrag für Administratoren, die in Rechenzentren aktiv sind - so als Fingerzeig. Denn es gibt Szenarien, ...

Heiß diskutierte Inhalte
Linux
Linux Server oder Windows Server - lohnt eine Umstellung auf Linux und ebenso basierende SW bei einer langfristigen Planung?
Frage von motus5Linux23 Kommentare

Wir brauchen bei uns einen neuen Server. Dieser wird als Fileserver, Domäne Controller sowie Exchange Server verwendet. Wir versuchen ...

DSL, VDSL
ISP Wechsel auf Vodefone Koax, Gebäudeverkabelung nur per Cat 7
gelöst Frage von wusa88DSL, VDSL18 Kommentare

Hallo Zusammen, ich bin momentan bei Mnet als Glasfaser Kunde und möchte Preis/Leistungs-Technisch zu Kabel Deutschland / Vodafone wechseln. ...

Windows Server
Domänencontroller trennen
Frage von Akit57Windows Server13 Kommentare

Hallo, ich hoffe das mir hier jemand meine Frage trotz der spärlichen Informationen die ich geben kann beantworten kann: ...

LAN, WAN, Wireless
Kommunikation zwischen verschiedenen IP-Bereichen
Frage von DirkHoLAN, WAN, Wireless13 Kommentare

Hallo zusammen, von Unitymedia habe ich ein neues Modem (Connect Box) erhalten, das u.a. IPv4 aber keinen Bridge Mode ...