@echo off rem ┌─────────────────┐ rem │ ARCHIVE TESTING │ rem └─────────────────┘ IF "%1"=="" GOTO ENDE IF "%2"=="" GOTO ENDE IF "%3"=="" GOTO ENDE IF "%4"=="" GOTO ENDE IF NOT EXIST %3 GOTO ENDE IF EXIST crcfail.%4 DEL crcfail.%4 >NUL rem 1=archiver 2=Ext 3=filespec 4=node 5=embedded or parameters rem *** ARCHIVE BRANCH ******************************************************** IF "%2" == "ZIP" GOTO ZIP IF "%2" == "ARC" GOTO ARC IF "%2" == "ARJ" GOTO ARJ IF "%2" == "LHARC" GOTO LZH IF "%2" == "PAK" GOTO PAK IF "%2" == "RAR" GOTO RAR IF "%2" == "TD0" GOTO TD0 IF "%2" == "GFXCHK" GOTO GFXCHK GOTO ENDE rem *** PROCEED ARCHIVE TESTING ********************************************** :ZIP %1 -t %3 >NUL if errorlevel 51 goto ARC_ERROR if errorlevel 50 goto DISK_FULL if errorlevel 11 goto NO_FILES if errorlevel 10 goto BAD_COMMAND if errorlevel 9 goto NO_FILES if errorlevel 8 goto NO_MEMORY if errorlevel 3 goto ARC_ERROR if errorlevel 2 goto ARC_ERROR rem *** level 1 is for warnings, have to assume CRC warning *** if errorlevel 1 goto CRC_ERROR GOTO ENDE :ARC %1 -t %3 >NUL if errorlevel 1 goto ARC_ERROR GOTO ENDE :PAK %1 t %3 >NUL if errorlevel 1 goto ARC_ERROR GOTO ENDE :ARJ %1 t /y %3 >NUL if errorlevel 9 goto INVALID if errorlevel 8 goto NO_MEMORY if errorlevel 7 goto BAD_COMMAND if errorlevel 6 goto ARC_ERROR if errorlevel 5 goto DISK_FULL if errorlevel 4 goto FAIL_VERIFY if errorlevel 3 goto CRC_ERROR if errorlevel 2 goto ARC_ERROR if errorlevel 1 goto ARC_ERROR GOTO ENDE :LZH %1 t /m /n2 %3 >NUL if errorlevel == 2 goto ARC_ERROR if errorlevel == 1 goto CRC_ERROR GOTO ENDE :RAR %1 t -y %3 >NUL if errorlevel == 255 goto PROG_ERROR if errorlevel == 8 goto NO_MEMORY if errorlevel == 7 goto BAD_COMMAND if errorlevel == 6 goto PROG_ERROR if errorlevel == 5 goto DISK_FULL if errorlevel == 4 goto LOCKED if errorlevel == 3 goto CRC_ERROR if errorlevel == 2 goto ARC_ERROR if errorlevel == 1 goto WARNING goto ENDE :TD0 tdcheck %3 >NUL if errorlevel 1 goto ARC_ERROR GOTO ENDE :GFXCHK %1 -cGFXCHK.CFG -f%3 -Q if errorlevel == 1 goto GIF_FAIL goto ENDE rem *** ARCHIVE ERRORS ******************************************************* :CRC_ERROR ECHO CRC ERRORS IN %2! %5 >CRCFAIL.%4 ECHO 1 >>CRCFAIL.%4 GOTO ENDE :ARC_ERROR ECHO ERROR IN %2! %5 >CRCFAIL.%4 ECHO 1 >>CRCFAIL.%4 GOTO ENDE :INVALID ECHO INVALID %2! %5 >CRCFAIL.%4 ECHO 1 >>CRCFAIL.%4 GOTO ENDE :NO_FILES rem Partial Archive? ECHO NO FILES IN %2! %5 >CRCFAIL.%4 ECHO 2 >>CRCFAIL.%4 GOTO ENDE :GIF_FAIL ECHO FILE FAILED GFXCHECK!!! >CRCFAIL.%4 ECHO 2 >>CRCFAIL.%4 GOTO ENDE rem *** WARNINGS ************************************************************* :NO_MEMORY ECHO WARNING - INSUFFICIENT MEMORY!!! >CRCFAIL.%4 ECHO 0 >>CRCFAIL.%4 GOTO ENDE :FAIL_VERIFY ECHO WARNING - FAILED VERIFICATION! >CRCFAIL.%4 ECHO 0 >>CRCFAIL.%4 GOTO ENDE :WARNING ECHO WARNING - NON FATAL ERROR(S)! >CRCFAIL.%4 ECHO 0 >>CRCFAIL.%4 GOTO ENDE :LOCKED ECHO WARNING - ARCHIVE LOCKED! >CRCFAIL.%4 ECHO 0 >>CRCFAIL.%4 GOTO ENDE :BAD_COMMAND ECHO WARNING - ILLEGAL COMMAND! >CRCFAIL.%4 ECHO 0 >>CRCFAIL.%4 GOTO ENDE :DISK_FULL ECHO WARNING - DISK FULL!!! >CRCFAIL.%4 ECHO 0 >>CRCFAIL.%4 GOTO ENDE :PROG_ERROR ECHO WARNING - PROGRAM ERROR!!! >CRCFAIL.%4 ECHO 0 >>CRCFAIL.%4 GOTO ENDE rem *** END OF BATCH ********************************************************* :ENDE