home *** CD-ROM | disk | FTP | other *** search
/ Current Shareware 1994 January / SHAR194.ISO / virus / virchk2a.zip / VIRCHECK.BAT < prev    next >
DOS Batch File  |  1993-07-27  |  5KB  |  180 lines

  1. @rem -- VIRCHECK.BAT v2.0a
  2. @rem -- Validates archive, performs virus check and comments 
  3. @rem -- ZIP and ARJ files automatically!
  4. @rem -- Jointly developed by Gary Gilmore (1:2410/400)
  5. @rem -- and Gary Weinfurther (1:120/301)
  6. @rem -- MS-DOS (command.com) VERSION
  7.  
  8. @ECHO OFF
  9. rem ───────────────────────────────────────
  10. rem  Make sure the VIRUS directory exists
  11. rem ───────────────────────────────────────
  12.     C:
  13.     IF NOT EXIST \VIRUS\NUL md \VIRUS
  14.  
  15. rem ───────────────────────────────────────────────────
  16. rem  Make sure the unzipping directory exists
  17. rem ───────────────────────────────────────────────────
  18. :MakeDir
  19.     IF NOT EXIST \VIRUS\UL\NUL MD \VIRUS\UL
  20.     CD \VIRUS\UL
  21.  
  22. rem ───────────────────────────────────────────────────────────
  23. rem  Move the contents of the upload to the unzipping directory
  24. rem ───────────────────────────────────────────────────────────
  25.     ECHO.>COM1
  26.     ECHO Now processing %2%3... >COM1
  27.     IF "%3" == ".ZIP" GOTO IsZip
  28.     IF "%3" == ".ARJ" GOTO IsArj
  29.     IF "%3" == ".LZH" GOTO IsLzh
  30.     IF "%3" == ".COM" GOTO Copy
  31.     IF "%3" == ".EXE" GOTO Copy
  32.     IF "%3" == ".ZOO" GOTO IsZoo
  33.     IF "%3" == ".ARC" GOTO IsArc
  34.     IF "%3" == ".BAT" GOTO IsBat
  35.     IF "%3" == ".PAK" GOTO IsPak
  36.     IF "%3" == ".CPT" GOTO IsMac
  37.     IF "%3" == ".SEA" GOTO IsMac
  38.     IF "%3" == ".SIT" GOTO IsMac
  39.     GOTO Copy                       : File is unknown type
  40.  
  41. :IsZip
  42.     ECHO UnZipping %2%3... >COM1
  43.     pkunzip -o %1%2%3
  44.     IF ERRORLEVEL 1 GOTO Corrupt
  45.     goto Scan
  46.  
  47. :IsArj
  48.     ECHO Extracting %2%3... >COM1
  49.     arj e -n -y %1%2%3
  50.     IF ERRORLEVEL 1 GOTO Corrupt
  51.     goto Scan
  52.  
  53. :IsLzh
  54.     ECHO Melting %2%3... >COM1
  55.     lha e /m %1%2%3
  56.     IF ERRORLEVEL 1 GOTO Corrupt
  57.     goto Scan
  58.  
  59. :Copy
  60.     XCOPY %1%2%3
  61.     GOTO Scan
  62.  
  63. :IsBat
  64.     rem BAT FILES NOT ALLOWED
  65.     del %1%2%3
  66.     copy %4NO_BATS.BBS %4FILE_BAD.BBS
  67.     GOTO End
  68.  
  69. :IsArc
  70.     rem ARC FILES NOT ALLOWED
  71.     del %1%2%3
  72.     copy %4NO_ARCS.BBS %4FILE_BAD.BBS
  73.     GOTO End
  74.  
  75. :IsPak
  76.     rem PAK FILES NOT ALLOWED
  77.     del %1%2%3
  78.     copy %4NO_PAKS.BBS %4FILE_BAD.BBS
  79.     GOTO End
  80.  
  81. :IsZoo
  82.     ECHO Oozing %2%3 >COM1
  83.     zoo e %1%2%3
  84.     IF ERRORLEVEL 1 GOTO Corrupt
  85.     goto Scan
  86.  
  87. :IsMac
  88.     rem MAC FILES NOT CHECKED
  89.     copy C:\MAX\MISC\FILE_MA.BBS C:\MAX\MISC\FILE_OK.BBS
  90.     GOTO End
  91.  
  92. :NotFound
  93.     copy %4FNOTFOUN.BBS %4FILE_BAD.BBS
  94.     goto End
  95.  
  96. rem ───────────────────────────────────────
  97. rem  Scan the contents for a virus
  98. rem ───────────────────────────────────────
  99. :Scan
  100.     copy C:\MAX\MISC\FILE_IB.BBS C:\MAX\MISC\FILE_OK.BBS
  101.     ECHO Scanning %2%3.....>COM1
  102.     SCAN \VIRUS\UL /A /NOMEM /NOPAUSE /HISTORY C:\VIRUS\VSCAN.LOG
  103.     IF ERRORLEVEL 2 GOTO Aborted
  104.     IF ERRORLEVEL 1 GOTO Virus
  105.  
  106. rem ────────────────────────────────────────────────────────────
  107. rem  Insert ZIP or ARJ comment
  108. rem ────────────────────────────────────────────────────────────
  109. :Comment
  110.     IF "%3" == ".ZIP" zcp -Z%1%2%3 -C\max\comment.zh -L
  111.     
  112.     IF "%3" == ".ARJ" arj c %1%2%3 /zC:\max\comment.zh
  113.  
  114.     GOTO End
  115.  
  116. rem =================================================
  117. rem ERROR CONDITIONS:
  118. rem =================================================
  119.  
  120. rem ───────────────────────────────────────
  121. rem  Archive is corrupted
  122. rem ───────────────────────────────────────
  123. :Corrupt
  124.     del %1%2%3
  125.     copy %4FCORRUPT.BBS %4FILE_BAD.BBS
  126.     GOTO End
  127.  
  128. rem ───────────────────────────────────────
  129. rem  A virus was found
  130. rem ───────────────────────────────────────
  131. :Virus
  132.     xcopy %1%2%3 \virus
  133.     del  %1%2%3
  134.     copy %4FVIRUS.BBS %4FILE_BAD.BBS
  135.     ECHO                     ╔══════════════╗>>\virus\virus.log
  136.     ECHO                     ║   Virus Log  ║>>\virus\virus.log
  137.     ECHO                     ╚══════════════╝>>\virus\virus.log
  138.     ECHO ────────────────────────────────────────────────────────>>\virus\virus.log
  139.     ECHO  *** VIRUS FOUND in %2%3 *** >> \virus\virus.log
  140.     ECHO. >> \virus\virus.log
  141.     ECHO  SCAN.EXE Reports the following: >> \virus\virus.log
  142.     ECHO ────────────────────────────────────────────────────────>> \virus\virus.log
  143.     ECHO. >> \virus\virus.log
  144.     type c:\virus\vscan.log >> c:\virus\virus.log
  145.     del c:\virus\vscan.log
  146.     makemsg -X\max\virusmsg.cfg
  147.     del c:\virus\virus.log
  148.     GOTO End
  149.  
  150. rem ───────────────────────────────────────
  151. rem  Virus scan abnormally aborted
  152. rem ───────────────────────────────────────
  153. :Aborted
  154.     xcopy %1%2%3 \virus
  155.     del  %1%2%3
  156.     copy %4FCORRUPT.BBS %4FILE_BAD.BBS
  157.     ECHO Error while scanning %2%3. The Sysop has been informed.>COM1
  158.     ECHO                     ╔══════════════╗>>\virus\virus.log
  159.     ECHO                     ║   Virus Log  ║>>\virus\virus.log
  160.     ECHO                     ╚══════════════╝>>\virus\virus.log
  161.     ECHO ────────────────────────────────────────────────────────>>\virus\virus.log
  162.     ECHO  ERROR while scanning %2%3>>\virus\virus.log
  163.     ECHO. >> \virus\virus.log
  164.     ECHO  SCAN.EXE Reports the following: >> \virus\virus.log
  165.     ECHO ────────────────────────────────────────────────────────>>virus.log
  166.     ECHO. >> \virus\virus.log
  167.     type c:\virus\vscan.log >> c:\virus\virus.log
  168.     del c:\virus\vscan.log
  169.     makemsg -X\max\virusmsg.cfg
  170.     del c:\virus\virus.log
  171.     GOTO End
  172.  
  173. rem ───────────────────────────────────────
  174. rem  All done - Clean up
  175. rem ───────────────────────────────────────
  176. :End
  177.     ECHO Y|del \virus\ul > nul
  178.     del c:\virus\vscan.log
  179.     CD\MAX
  180.