listigerteppich
Goto Top

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

Content-Key: 129159

Url: https://administrator.de/contentid/129159

Ausgedruckt am: 28.03.2024 um 10:03 Uhr

Mitglied: TsukiSan
TsukiSan 12.11.2009 um 03:51:45 Uhr
Goto Top
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:
set MeinPfad="\\"%Computername%\Public\  
Echo %Time% >>%MeinPfad%log.txt
...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
Mitglied: listigerTeppich
listigerTeppich 13.11.2009 um 10:30:39 Uhr
Goto Top
Problem gelöst. Schuld warn die UNC-Pfade bzw. eine fehlerhafte Namensauflösung zum Linux-Zielrechner