Batch verweigert Fehler-Ausgabe-Umleitung in logfile
Hallo beisammen !
folgende Batch verweigert die Umleitung der Fehlerausgabe (2>>) in das logfile log.txt. Auch ein gelungener Copy-Befehls wird nicht geloggt. Hat jemand ne Idee warum ?
set egvptemp="\\server\freigabe\ordner\E_Eingang"
set datadir=\\\server\freigabe\ordner\\disketten
set protdir="\\\server\freigabe\ordner\\Anordnungsprotokolle_E"
set logdir="\\\server\freigabe\ordner\\E_Log"
set star_l=
set star_k=**
set str_l=______________________________________________________________________________________________________________________________________
set str_k=-----------------------------------------------------------
echo %star_l% >> %logdir%\log.txt
echo Skript gestartet am %date:~0% - %time:~0,8% Uhr >> %logdir%\log.txt
echo %star_l% >> %logdir%\log.txt
echo %str_k% >> %logdir%\log.txt
echo Kosten-Rechnungen: >> %logdir%\log.txt
echo %str_k% >> %logdir%\log.txt
Setlocal EnableDelayedExpansion
for /f "delims=" %%i in ('dir /b /s %egvptemp%\KR*') do (
copy /V %%i %datadir% 2>> %logdir%\log.txt
if !ERRORLEVEL! EQU 0 (echo Kopieren der Datei %%~ni%%~xi %%~ziByte nach %datadir% %%~ti erfolgreich. >> %logdir%\log.txt)
if !ERRORLEVEL! NEQ 0 (echo Kopieren der Datei %%~ni%%~xi nach %datadir% schlug fehl. >> %logdir%\log.txt)
else (echo Kopieren der Datei %%~ni%%~xi %%~ziByte nach %datadir% um %%~ti erfolgreich. >> %logdir%\log.txt)
)
echo %str_k% >> %logdir%\log.txt
echo. >> %logdir%\log.txt
for /f %%i in ('dir %datadir%\KR* ^|find "Datei(en)"') do Set anz_data=%%i
echo Es stehen folgende %anz_data% Kostenrechnungsdateien zur Verarbeitung an: >> %logdir%\log.txt
echo. >> %logdir%\log.txt
dir /b %datadir%\KR* >> %logdir%\log.txt
echo %str_k% >> %logdir%\log.txt
echo Anordnungs-Protokolle: >> %logdir%\log.txt
echo %str_k% >> %logdir%\log.txt
Setlocal EnableDelayedExpansion
for /f "delims=" %%i in ('dir /b /s %egvptemp%\UE*') do (
copy /V %%i %protdir% 2>> %logdir%\log.txt
if !ERRORLEVEL! EQU 0 (echo Kopieren der Datei %%~ni%%~xi %%~ziByte nach %protdir% %%~ti erfolgreich. >> %logdir%\log.txt)
if !ERRORLEVEL! NEQ 0 (echo Kopieren der Datei %%~ni%%~xi nach %protdir% schlug fehl. >> %logdir%\log.txt)
else (echo Kopieren der Datei %%~ni%%~xi %%~ziByte nach %protdir% um %%~ti erfolgreich. >> %logdir%\log.txt)
)
echo %str_k% >> %logdir%\log.txt
for /f %%i in ('dir %protdir%\UE* ^|find "Datei(en)"') do Set anz_prot=%%i
echo Es sind folgende %anz_prot% Anordnungsprotokolle vorhanden: >> %logdir%\log.txt
echo. >> %logdir%\log.txt
dir /b %protdir%\UE* >> %logdir%\log.txt
echo. >> %logdir%\log.txt
echo %star_k% >> %logdir%\log.txt
echo Skript beendet am %date:~0% - %time:~0,8% Uhr >> %logdir%\log.txt
echo %star_k% >> %logdir%\log.txt
echo %str_l% >> %logdir%\log.txt
echo. >> %logdir%\log.txt
for /f "delims=" %%i in ('dir /b /s %egvptemp%\vps*') do rd /S /Q %%i
%logdir%\log.txt
folgende Batch verweigert die Umleitung der Fehlerausgabe (2>>) in das logfile log.txt. Auch ein gelungener Copy-Befehls wird nicht geloggt. Hat jemand ne Idee warum ?
set egvptemp="\\server\freigabe\ordner\E_Eingang"
set datadir=\\\server\freigabe\ordner\\disketten
set protdir="\\\server\freigabe\ordner\\Anordnungsprotokolle_E"
set logdir="\\\server\freigabe\ordner\\E_Log"
set star_l=
set star_k=**
set str_l=______________________________________________________________________________________________________________________________________
set str_k=-----------------------------------------------------------
echo %star_l% >> %logdir%\log.txt
echo Skript gestartet am %date:~0% - %time:~0,8% Uhr >> %logdir%\log.txt
echo %star_l% >> %logdir%\log.txt
echo %str_k% >> %logdir%\log.txt
echo Kosten-Rechnungen: >> %logdir%\log.txt
echo %str_k% >> %logdir%\log.txt
Setlocal EnableDelayedExpansion
for /f "delims=" %%i in ('dir /b /s %egvptemp%\KR*') do (
copy /V %%i %datadir% 2>> %logdir%\log.txt
if !ERRORLEVEL! EQU 0 (echo Kopieren der Datei %%~ni%%~xi %%~ziByte nach %datadir% %%~ti erfolgreich. >> %logdir%\log.txt)
if !ERRORLEVEL! NEQ 0 (echo Kopieren der Datei %%~ni%%~xi nach %datadir% schlug fehl. >> %logdir%\log.txt)
else (echo Kopieren der Datei %%~ni%%~xi %%~ziByte nach %datadir% um %%~ti erfolgreich. >> %logdir%\log.txt)
)
echo %str_k% >> %logdir%\log.txt
echo. >> %logdir%\log.txt
for /f %%i in ('dir %datadir%\KR* ^|find "Datei(en)"') do Set anz_data=%%i
echo Es stehen folgende %anz_data% Kostenrechnungsdateien zur Verarbeitung an: >> %logdir%\log.txt
echo. >> %logdir%\log.txt
dir /b %datadir%\KR* >> %logdir%\log.txt
echo %str_k% >> %logdir%\log.txt
echo Anordnungs-Protokolle: >> %logdir%\log.txt
echo %str_k% >> %logdir%\log.txt
Setlocal EnableDelayedExpansion
for /f "delims=" %%i in ('dir /b /s %egvptemp%\UE*') do (
copy /V %%i %protdir% 2>> %logdir%\log.txt
if !ERRORLEVEL! EQU 0 (echo Kopieren der Datei %%~ni%%~xi %%~ziByte nach %protdir% %%~ti erfolgreich. >> %logdir%\log.txt)
if !ERRORLEVEL! NEQ 0 (echo Kopieren der Datei %%~ni%%~xi nach %protdir% schlug fehl. >> %logdir%\log.txt)
else (echo Kopieren der Datei %%~ni%%~xi %%~ziByte nach %protdir% um %%~ti erfolgreich. >> %logdir%\log.txt)
)
echo %str_k% >> %logdir%\log.txt
for /f %%i in ('dir %protdir%\UE* ^|find "Datei(en)"') do Set anz_prot=%%i
echo Es sind folgende %anz_prot% Anordnungsprotokolle vorhanden: >> %logdir%\log.txt
echo. >> %logdir%\log.txt
dir /b %protdir%\UE* >> %logdir%\log.txt
echo. >> %logdir%\log.txt
echo %star_k% >> %logdir%\log.txt
echo Skript beendet am %date:~0% - %time:~0,8% Uhr >> %logdir%\log.txt
echo %star_k% >> %logdir%\log.txt
echo %str_l% >> %logdir%\log.txt
echo. >> %logdir%\log.txt
for /f "delims=" %%i in ('dir /b /s %egvptemp%\vps*') do rd /S /Q %%i
%logdir%\log.txt
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 129159
Url: https://administrator.de/forum/batch-verweigert-fehler-ausgabe-umleitung-in-logfile-129159.html
Ausgedruckt am: 12.04.2025 um 08:04 Uhr
2 Kommentare
Neuester Kommentar
mal ein kleines Beispiel:
Gib auf deinem lokalen Rechner einen Ordnerfrei und gib ihm als Freigabenamen "Public".
dann kurzes Schnipsel in eine Bat-Datei kopiert:
...und schauen, was sich im Freigabeordner getan hat.
Danach vergleichst du deine Pfadangaben in deinem Batch mit denen im Beispielbatch und
korrigierst deine(n) Fehler selber.
gruss
Tsuki
Gib auf deinem lokalen Rechner einen Ordnerfrei und gib ihm als Freigabenamen "Public".
dann kurzes Schnipsel in eine Bat-Datei kopiert:
1
2
2
set MeinPfad="\\"%Computername%\Public\
Echo %Time% >>%MeinPfad%log.txt
Danach vergleichst du deine Pfadangaben in deinem Batch mit denen im Beispielbatch und
korrigierst deine(n) Fehler selber.
gruss
Tsuki