heinz15
Goto Top

ERRORLEVEL - Ausgabe unterdrücken

Hallo,

Ich habe folgendes Problem:

Im Script unten wird die ERRORLEVEL – Ausgabe des Robocopy – Befehls durch den nachfolgenden TEE Befehl (|%LOG%)
überschrieben. Jetzt wollte ich wissen, ob es möglich ist, die ERRORLEVEL – Ausgabe von einzelnen Befehlen zu
unterdrücken? Oder gibt es vielleicht auch noch andere Möglichkeiten mein Problem zu lösen?

@echo OFF
BREAK ON

REM V1.0.5 [05JULI2007 /// H.EINZ]
TITLE Backup Script & MODE CON:COLS=81 LINES=50


SET DT=%DATE%#%TIME:~0,2%-%TIME:~3,2%-%TIME:~6,2%
SET UserDirectory=%USERNAME%@%USERDOMAIN%[%COMPUTERNAME%]
SET ERROR=OFF

ECHO Y|CACLS B:\%UserDirectory% /P %USERDOMAIN%\%USERNAME%:C > NUL
ECHO J|CACLS B:\%UserDirectory% /P %USERDOMAIN%\%USERNAME%:C > NUL

:ExistUD
IF NOT EXIST "B:\%UserDirectory%Backup LogFiles" MD "B:\%UserDirectory%Backup LogFiles"
SET LOG=TEE -a "B:\%UserDirectory%Backup LogFiles\%DT%.txt"
SET SLG="B:\%UserDirectory%Backup LogFilesSummary.txt"
DEL %SLG% > NUL

ECHO |%LOG%
ECHO * *|%LOG%
ECHO * BACKUP SCRIPT *|%LOG%
ECHO * *|%LOG%
ECHO |%LOG%

ECHO.|%LOG% & MORE "B:\%UserDirectory%Backup LogFiles\%DT%.txt" >> %SLG%

ECHO |%LOG%
ECHO * D:ETASData wird kopiert *|%LOG%
ECHO |%LOG%
IF NOT EXIST "D:ETASData" GOTO NoETASData
ROBOCOPY "D:ETASData" "B:\%UserDirectory%ETASData" /E /ZB /NS /NP | %LOG%
ECHO.|%LOG%
ECHO ETASData Robocopy Summary | %LOG%
ECHO.|%LOG%
IF ERRORLEVEL 16 GOTO ETASDataFatalError
IF ERRORLEVEL 8 GOTO ETASDataFailedCopies
IF ERRORLEVEL 4 GOTO ETASDataMismatches
IF ERRORLEVEL 2 GOTO ETASDataExtraFiles
IF ERRORLEVEL 1 GOTO ETASDataCopySuccesful
IF ERRORLEVEL 0 GOTO ETASDataNoChange

:NoETASData
ECHO >>%SLG%
ECHO * Robocopy Summary D:ETASData *>>%SLG%
ECHO >>%SLG%
ECHO WARNING: D:ETASData could not be found! >> %SLG%
ECHO.>>%SLG% & SET ERROR=ON & GOTO Data

:ETASDataNoChange
ECHO >>%SLG%
ECHO * Robocopy Summary D:ETASData *>>%SLG%
ECHO >>%SLG%
FIND /N "ETASData Robocopy Summary" "B:\%UserDirectory%Backup LogFiles\%DT%.txt" > %TEMP%Line.tmp
FOR /F "delims= skip=2 tokens=1" %%a in ( %TEMP%Line.tmp) DO SET /a Line=%%a - 10
MORE +%Line% "B:\%UserDirectory%Backup LogFiles\%DT%.txt" >> %SLG%
GOTO Data

:ETASDataCopySuccesful
ECHO >>%SLG%
ECHO * Robocopy Summary D:ETASData *>>%SLG%
ECHO >>%SLG%
ECHO CopySuccesful >> %SLG%
FIND /N "ETASData Robocopy Summary" "B:\%UserDirectory%Backup LogFiles\%DT%.txt" > %TEMP%Line.tmp
FOR /F "delims= skip=2 tokens=1" %%a in ( %TEMP%Line.tmp) DO SET /a Line=%%a - 13
MORE +%Line% "B:\%UserDirectory%Backup LogFiles\%DT%.txt" >> %SLG%
GOTO Data

:ETASDataExtraFiles
ECHO >>%SLG%
ECHO * Robocopy Summary D:ETASData *>>%SLG%
ECHO >>%SLG%
ECHO Extra Files >> %SLG%
FIND /N "ETASData Robocopy Summary" "B:\%UserDirectory%Backup LogFiles\%DT%.txt" > %TEMP%Line.tmp
FOR /F "delims= skip=2 tokens=1" %%a in ( %TEMP%Line.tmp) DO SET /a Line=%%a - 13
MORE +%Line% "B:\%UserDirectory%Backup LogFiles\%DT%.txt" >> %SLG%
GOTO Data

:ETASDataMismatches
ECHO >>%SLG%
ECHO * Robocopy Summary D:ETASData *>>%SLG%
ECHO >>%SLG%
ECHO WARNING: Some Mismatched files were detected. Examine the output log! >> %SLG%
ECHO.>>%SLG% & SET ERROR=ON & GOTO Data

:ETASDataFailedCopies
ECHO >>%SLG%
ECHO * Robocopy Summary D:ETASData *>>%SLG%
ECHO >>%SLG%
ECHO WARNING: Some files or directories could not be copied. Examine the output log! >> %SLG%
ECHO.>>%SLG% & SET ERROR=ON & GOTO Data

:ETASDataFatalError
ECHO >>%SLG%
ECHO * Robocopy Summary D:ETASData *>>%SLG%
ECHO >>%SLG%
ECHO WARNING: Serious error. Robocopy did not copy any files! >> %SLG%
ECHO.>>%SLG% & SET ERROR=ON & GOTO Data


:Data
ECHO |%LOG%
ECHO * D:DATA wird kopiert *|%LOG%
ECHO |%LOG%
IF NOT EXIST "D:Data" GOTO NoDATA
ROBOCOPY "D:DATA" "B:\%UserDirectory%DATA" /E /ZB /NS /NP | %LOG%
ECHO.|%LOG%
ECHO DATA Robocopy Summary | %LOG%
ECHO.|%LOG%
IF ERRORLEVEL 16 GOTO DataFatalError
IF ERRORLEVEL 8 GOTO DataFailedCopies
IF ERRORLEVEL 4 GOTO DataMismatches
IF ERRORLEVEL 2 GOTO DataExtraFiles
IF ERRORLEVEL 1 GOTO DataCopySuccesful
IF ERRORLEVEL 0 GOTO DataNoChange

:NoData
ECHO >>%SLG%
ECHO * Robocopy Summary D:DATA *>>%SLG%
ECHO >>%SLG%
ECHO WARNING: D:DATA could not be found! >> %SLG%
ECHO.>>%SLG% & SET ERROR=ON & GOTO Project

:DataNoChange
ECHO >>%SLG%
ECHO * Robocopy Summary D:DATA *>>%SLG%
ECHO >>%SLG%
FIND /N "DATA Robocopy Summary" "B:\%UserDirectory%Backup LogFiles\%DT%.txt" > %TEMP%Line.tmp
FOR /F "delims= skip=2 tokens=1" %%a in ( %TEMP%Line.tmp) DO SET /a Line=%%a - 10
MORE +%Line% "B:\%UserDirectory%Backup LogFiles\%DT%.txt" >> %SLG%
GOTO Project

:DataCopySuccesful
ECHO >>%SLG%
ECHO * Robocopy Summary D:DATA *>>%SLG%
ECHO >>%SLG%
FIND /N "DATA Robocopy Summary" "B:\%UserDirectory%Backup LogFiles\%DT%.txt" > %TEMP%Line.tmp
FOR /F "delims= skip=2 tokens=1" %%a in ( %TEMP%Line.tmp) DO SET /a Line=%%a - 13
MORE +%Line% "B:\%UserDirectory%Backup LogFiles\%DT%.txt" >> %SLG%
GOTO Project

:DataExtraFiles
ECHO >>%SLG%
ECHO * Robocopy Summary D:DATA *>>%SLG%
ECHO >>%SLG%
FIND /N "DATA Robocopy Summary" "B:\%UserDirectory%Backup LogFiles\%DT%.txt" > %TEMP%Line.tmp
FOR /F "delims= skip=2 tokens=1" %%a in ( %TEMP%Line.tmp) DO SET /a Line=%%a - 13
MORE +%Line% "B:\%UserDirectory%Backup LogFiles\%DT%.txt" >> %SLG%
GOTO Project

:DataMismatches
ECHO >>%SLG%
ECHO * Robocopy Summary D:DATA *>>%SLG%
ECHO >>%SLG%
ECHO WARNING: Some Mismatched files were detected. Examine the output log! >> %SLG%
ECHO.>>%SLG% & SET ERROR=ON & GOTO Project

:DataFailedCopies
ECHO >>%SLG%
ECHO * Robocopy Summary D:DATA *>>%SLG%
ECHO >>%SLG%
ECHO WARNING: Some files or directories could not be copied. Examine the output log! >> %SLG%
ECHO.>>%SLG% & SET ERROR=ON & GOTO Project

:DataFatalError
ECHO >>%SLG%
ECHO * Robocopy Summary D:DATA *>>%SLG%
ECHO >>%SLG%
ECHO WARNING: Serious error. Robocopy did not copy any files! >> %SLG%
ECHO.>>%SLG% & SET ERROR=ON & GOTO Project

:Project
SLEEP 1 & CLS & MORE %SLG% & IF %ERROR% EQU ON (COLOR 0C) ELSE (COLOR 0A)
GOTO END

:NoNet
ECHO
ECHO * Mapping Network Drive *
ECHO
ECHO WARNING: Could not connect BrightStor@ATGRZFS702! Please call DFS-D Support!
ECHO.&COLOR 0C & GOTO END

:NoDirectory
ECHO
ECHO * Creating UserDirectory *
ECHO
ECHO WARNING: Could not create UserDirectory! Please call DFS-D Support!
ECHO.&COLOR 0C & GOTO END
:END

PAUSE


Danke im Voraus!
Heinz

Content-Key: 63516

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

Printed on: April 26, 2024 at 05:04 o'clock

Member: Biber
Biber Jul 11, 2007 at 07:14:56 (UTC)
Goto Top
Moin !Heinz,

willkommen im Forum.

Ohne Deiner eigentlich gestellten Frage ausweichen zu wollen:
Das einfachste ist, den externen Tee.exe-Befehl zu vermeiden und stattdessen das in RoboCopy enthaltene /TEE-Feature zu nutzen.

Siehe bei RoboCopy /???
....
Logging Options
...
             /TEE : output to console window, as well as the log file.
...

Grüße
Biber
Member: Heinz15
Heinz15 Jul 11, 2007 at 11:55:27 (UTC)
Goto Top
Vielen Dank!!!

Manchmal sieht man den Wald vor lauter Bäumen nicht.

Danke Script funktioniert schon face-smile