erfolgreich / nicht erfolgreich batch in log file schreiben ?

buliwyf

Grünschnabel
Hallo Freunde,

ich habe nun schon einige Seiten und beispiele gesehen dazu, aber richtig auf meinen batch anwenden kann ich es leider nicht

hier mal mein batch
Code:
@echo off
ren bz.csv %date:~-10%.csv
c:\mail.exe -smtp 192.168.0.18 -from btvserver@linux02 -to ma1@linux02 -s "csv Datei BZ" -a c:\bz\%date:~-10%.csv
ftp -s:bz.ftp
Nun moechte ich den Erfolg oder eben Misserfolg in einem seperaten logfile gespeichert haben, mit Datum und Uhrzeit.
habe mir schon folgendes zurechtgebastelt
Code:
@echo off
ren bz.csv %date:~-10%.csv
c:\mail.exe -smtp 192.168.0.18 -from btvserver@linux02 -to ma1@linux02 -s "csv Datei BZ" -a c:\bz\%date:~-10%.csv
ftp -s:bz.ftp
Set Quelle=C:\bz\
Set Log=c:\bz_log\bz.Log 
>>%Log% Echo Datum: %date% 
For %%A 
Do Call :DoCopy %%A 
Goto :Eof 
:DoCopy ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
IF %Errorlevel% EQU 0 ( 
>>%Log% Echo %time% Datei %1 erfolgreich  
) Else ( 
>>%Log% Echo %time% Datei %1 NICHT erfolgreich, Fehler %Errorlevel% 
)

Das Ergebnis ist duerftig, er schreibt mir in das logfile das Datum,...aber leider mehr nicht,....wenn jemand mir hier auf die Spruenge helfen koennte ?

Vielen dank. !
/lg stef
 

deepthroat

Erfahrenes Mitglied
Hi.

Eine for Schleife muss anders aussehen.

Über was willst du denn da iterieren? Das müßtest du auch irgendwie angeben.

Gruß
 

buliwyf

Grünschnabel
Ich moechte einfach nur ein logfile ueber den positiven oder eben negativen Ausgang/ abarbeitung des batch files schreiben lassen.
Mit Datum und Uhrzeit ...fortlaufend.....
zb.
10.02.2012 13:07:10, ren bz.csv %date:~-10%.csv erfolgreich abgeschlossen.
10.02.2012 13:07:11 c:\mail.exe~ erfolgreich abgeschlossen
10.02.2012 13:07:11 ftp -s:bz.ftp erfolgreich abgeschlossen.

Oder eben wenn es Fehler gegeben hat,....dann eben "Nicht erfolgreich" oder "Fehler"...

Und das fortlaufend in dem logfile....

LG stef

Den rest unten in der batch habe ich mir aus anderen sachen zusammen....u know what i mean ? ;-)
 

deepthroat

Erfahrenes Mitglied
Ich moechte einfach nur ein logfile ueber den positiven oder eben negativen Ausgang/ abarbeitung des batch files schreiben lassen.
Und was sollte dann die For Schleife?

Du mußt doch nur nach jedem Kommando den errorcode prüfen und entsprechend die Nachricht in die Datei schreiben...
Code:
ren bz.csv %date:~-10%.csv
call :log %errorlevel% "ren bz.csv %date:~-10%.csv"
...

:log
if %1 -equ 0 (
  echo %time% %~2 erfolgreich abgeschlossen. >>%LOG%
) else (
  echo %time% %~2 nicht erfolgreich abgeschlossen. >>%LOG%
)
goto :eof
Gruß
 
Zuletzt bearbeitet:

buliwyf

Grünschnabel
ich hoffe mal du hast etwas gedult mit mir und erklaerst mir das ganze,
ich wills ja nicht nur kopieren sondern auch kapieren :suspekt:
mit dem
Code:
call :log %errorlevel% "ren bz.csv %date:~-10%.csv"
uebergibst du den ausgang....das ergebnis dem log ?

wo gebe ich hier denn den ort fuer das logfile an ?
Wird ja so nichts angegeben...hatte es eben so probiert,.leider ohne erfolg
Code:
echo %time% %~2 erfolgreich abgeschlossen. >>C:\bz_log\%LOG%
Dachte das er nun dort das logfile ablegt...Hmmm ?

wenn du mir die schritte erklaren koenntest ?
Danke !
Lg stef
 
Zuletzt bearbeitet:

deepthroat

Erfahrenes Mitglied
ich hoffe mal du hast etwas gedult mit mir und erklaerst mir das ganze,
ich wills ja nicht nur kopieren sondern auch kapieren :suspekt:
mit dem
Code:
call :log %errorlevel% "ren bz.csv %date:~-10%.csv"
uebergibst du den ausgang....das ergebnis dem log ?
Es wird der Errorlevel / Errorcode an die Subroutine log übergeben.
wo gebe ich hier denn den ort fuer das logfile an ?
So wie schon in deinem Skript... :eek:
Code:
set log=c:\xyz.log
Wird ja so nichts angegeben...hatte es eben so probiert,.leider ohne erfolg
Code:
echo %time% %~2 erfolgreich abgeschlossen. >>C:\bz_log\%LOG%
Dachte das er nun dort das logfile ablegt...Hmmm ?
Welchen Wert hatte die Variable LOG ?

Gruß
 

buliwyf

Grünschnabel
Hallo deepthroat,

mein Kopf qualmt schon....wenn du die Loesung hast waere das echt supi,....?
Also wenn du mir die Loesung posten koenntest ?
Dann kann ich ja wenn es klappt mir jeden einzelnen Schritt vornehmen und daraus lernen, aber so werde ich einfach nur verwirrter.

LG stef
PS. Und ein schoenes Wochenende euch allen.