# erfolgreich / nicht erfolgreich batch in log file schreiben ?



## buliwyf (10. Februar 2012)

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

```
@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

```
@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 (10. Februar 2012)

Hi.

Eine for Schleife muss anders aussehen.

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

Gruß


----------



## buliwyf (10. Februar 2012)

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 (10. Februar 2012)

buliwyf hat gesagt.:


> 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...

```
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ß


----------



## buliwyf (10. Februar 2012)

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 
	
	
	



```
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

```
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


----------



## deepthroat (10. Februar 2012)

buliwyf hat gesagt.:


> 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
> 
> ...


Es wird der Errorlevel / Errorcode an die Subroutine log übergeben.


buliwyf hat gesagt.:


> wo gebe ich hier denn den ort fuer das logfile an ?


So wie schon in deinem Skript... 

```
set log=c:\xyz.log
```



buliwyf hat gesagt.:


> Wird ja so nichts angegeben...hatte es eben so probiert,.leider ohne erfolg
> 
> ```
> echo %time% %~2 erfolgreich abgeschlossen. >>C:\bz_log\%LOG%
> ...


Welchen Wert hatte die Variable LOG ?

Gruß


----------



## buliwyf (10. Februar 2012)

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.


----------

