Contents of the VTST.DOC file
you may use, copy and distribute VTST freely
Clyde W. Grotophorst
This is a simple program that manages virus testing of ZIP files
in a particular subdirectory. I wrote this to help me automate the
checking of files uploaded to my BBS. I use WILDCAT! BBS
software so I wanted a program that would run from a batch (event)
file. Some systems, like PCBOARD, allow you to shell out after
each upload for testing, but the WILDCAT! software I'm using
(2.55) doesn't, hence the batch testing requirement.
I may have been using SHEZ wrong, but it always stopped when the
ZIP file contained no EXE or COM files...and it wouldn't run in a
batch mode. VTST was designed for and tested with PKUNZIP.EXE
(1.10) and SCAN (various versions). It will work with any combination
of unarchiver/tester that uses the following syntax on the command line:
ProgramName [options] FileToProcess [Destination]
VTST passes DOS the FullPathProgramName found in VTST.CFG then
the name of the file to process, then the destination (a temporary
sub-directory called ~VTST10). If you want to specify options
(and your program accepts them BEFORE the name of the file to
process, put the options in your VTST entry:
e.g., UnArcPrg=C:\ZIP\PKUNZIP.EXE -o
VTST is written in Turbo Pascal (6.0) and uses TurboPower's Object
Professional to handle the interaction between the VTST,
your unarchiving program, your virus checker, and your zipcomment
VTST swaps itself to disk or EMS, then executes each program...this
will free most of your RAM up to the other programs...
The program will test up to 500 files in a given subdirectory.
Here's how to put VTST to work for you:
1. With an ASCII editor, open the file VTST.CFG and follow the
instructions there for configuring VTST to your needs.
Basically, you need to enter three things (values in the
file as distributed are shown):
Use the FULL PATH NAME for the UNARCPRG, VCHECKER and COMMENTREMOVER
2. Copy VTST.EXE and VTST.CFG to the sub-directory where you
want run your check (typically the sub-directory where user
3. Type VTST and the program will pause before beginning.
Type VTST /b to begin the program without a pause (if you're
running it from a batch file).
The program will go through all files matching the EXTtoCHECK extension.
If it finds a virus, it will STOP with a message to that effect.
Here's the syntax of the line from VTST that calls your UnArchiving
program. This sample uses the default values stored in VTST.CFG:
UnArcPrg [PathYouAreIn\FILEtoUncompress+' *.EXE *.COM [TempDir]
And for the virus checing program, one of two methods:
1) If VTST finds \SCAN.EXE in your VCHECKER string, it assumes you're
using Macfee's SCAN program. The /NOMEM switch is added.
VcheckerString FullPathYouAreIn\TempDir\*.* /NOMEM
2) If \SCAN.EXE isn't in your VCHECKER string, VTST assumes you're
using something else so the /NOMEM switch isn't passed.
If the unarchiver and virus scan programs both return errorlevels of
0 (no problems encountered), then VTST will call the program stored
in the COMMENTREMOVER= value of the VTST.CFG file. If there is
a problem with a file, no comment processing will occur and a message
will be written to the ASCII file VTST.RPT.
Here's a typical entry in VTST.RPT (for a damaged ZIP file):
PKFIXED.ZIP C:\UTILS\PKUNZIP.EXE returned DOS errorlevel code: 1
GMUtant OnLine BBS :: 703-323-3100 (1200/2400 baud, 24 hrs a day)
1.3 Ability to run program without opening pause added.
Support for a the ZIPCOMNT program added. If you're using
ZIPCOMNT, create a ASCII file for your comment, then put
it's name in your environment via the SET command:
Then when ZIPCOMNT is run by VTST, it will strip any existing
comment in the file and replace it with the comment file pointed
to by the SET ZIPCOMNT line.
Here is the command passed to DOS when VTST shells out for the
1.2 VTST now extracts ALL files from a ZIP - before just COM and EXE
files were extracted. This approach caused a lot of errorcode
11's to be returned by PKUNZIP (no matching files found). Since
most non-EXe and non-COM files are small, why not test everything?
At least this way, the error report is more meaningful--if
a file is listed there, it probably DOES have some sort of
problem and should be investigated.
1.1 VTST didn't correctly pick up errorlevel codes returned from the
unarc/virus-check programs. Thus, to find out if your files
were infected, you had to watch the screen.
Now VTST correctly picks up DOS errorlevel codes from the
external programs. If PKUNZIP or SCAN (or whatever you use)
return a non-ZERO errorlevel code, VTST will see it, and write
an ASCII output file (VTST.RPT) that contains the name of the
offending archive file, the program returning the error code
and the code returned). Here is a sample line:
COREAD.ZIP C:\UTILS\PKUNZIP.EXE returned DOS errorlevel code: 11
When VTST finishes, it will let you know whether or not a
problem was encountered.
1.0 original release