QWKPRUNE can be used as a "preprocessor" for many QWK readers. If the reader lets you replace the name of your unpacker with a batch file, you should be able to use QWKPRUNE in this manner. If it doesn't, you may be able to use PARM.EXE to call a batch file. Create a prune file for each BBS you want to filter messages from. Each prune file must be named BBSID.PRN. The files must be located in the same directory as QWKPRUNE.EXE, unless you set the PRUNE option in the configuration file, or specify a directory on the line that calls QWKPRUNE. BBSID should be the name the board's mail door gives to QWK packets. So if a BBS creates packets named ABC.QWK, the prune file should be named ABC.PRN. QWKPRUNE reads the BBSID from CONTROL.DAT, so it can find the correct prune file even if a packet has been renamed. If there's no prune file for a BBS, (R) and Re: prefixes, user-defined prefixes, and leading whitespace will still be stripped from the subject lines of the messages. Extract the correct batch file from the distribution archive, place it in the directory where your reader is located, and edit it to fit your configuration. If your reader isn't listed below, try using UNPACK.BAT. Once you have the batch file working, delete the REM statements to speed up processing. You should also extract PARMSCAN.EXE, and place it in the directory where your reader is located, or a directory on your DOS path. I've tested this with SLMR/OLX 2.x, EZ-RDR 1.37-1.39, DeLuxe 1.2x, 1stReader 1.01+, KingQWK 1.00 and 1.05, QWKMerge 1.05, Jabber 1.1+, Session Manager 1.06, MegaMail 2.10, Power-QWK 2.14, Speed Read 1.20+, Blue Wave 2.1x, RoboMail, MikeMayl, and Camster. SLMR/OLX 2.x ----- Use UNPACK.BAT. SLMR and OLX change to their work directory, so there's no need to specify its location in the batch file. SLMR and OLX can call batch files directly. EZ-RDR 1.37-1.39 ----- Use UNPACK.BAT. EZ-RDR creates a directory called WORK below the EZ-RDR directory defined in its configuration. It changes to this directory, so references to the work directory can be removed from the batch file. EZ-RDR doesn't remember what directory it changed from, so you'll have to give a path to UNPACK.BAT when reconfiguring EZ. EZ-RDR can call batch files directly. When EZ-RDR saves your place in a QWK, it alters the .NDX files and re-archives them, but doesn't re-archive MESSAGES.DAT. As a matter of fact, it appears to delete MESSAGES.DAT before inserting the bookmarks into the QWK packet. If you want to have EZ-RDR save your place, insert the line "copy messages.dat messages.bak" (without quotes) into UNPACK.BAT just below the line that runs QWKPRUNE. You'll also need to reconfigure EZ-RDR to use EZ-PACK.BAT to call your packer. Running a batch file while swapped to EMS may interfere with the display in EZ-RDR 1.37's DOS window. It appears that the QWK packet is still processed correctly, you just can't follow the process. DeLuxe 1.2x ----- Use UNPACK.BAT. DeLuxe doesn't change to the Q-WORK directory, so you'll have to specify its location in the batch file. DeLuxe can call batch files directly. If you tell DeLuxe to insert a bookmark, it will recreate the QWK, saving any changes that were made. Note: you can represent the Q-WORK directory as %W\Q-WORK. If you do this, enter the batch file name as "BAT:UNPACK.BAT" (without quotes) when reconfiguring DeLuxe. 1stReader ----- Copy FIRST.BAT to the directory where 1stReader is located and rename it $$INTRO.BAT. If you already have an $$INTRO.BAT, insert the line "qwkprune /m%2" (without quotes) into it. %2 represents the the work directory defined in 1stReader's setup. If the "Use Bookmark" switch in 1stReader's setup is ON, you can usually save any changes by telling 1stReader that you want to insert a bookmark. According to Mark Herring, 1stReader won't repack QWK packets that came from a Qmail door with option #21 turned on. You can also use SAVEQWK (see ADDON.DOC) to save the changes. Note that, if $$INTRO.BAT exists, 1stReader automatically runs it after the QWK is unpacked. There's no need to change 1stReader's setup. KingQWK ----- Use UNPACK.BAT. If you're using version 1.05, and KingQWK is not configured to swap, you can enter the name as "UNPACK.BAT" (without quotes). Otherwise, use COMMAND /C or PARM. If KingQWK is configured to swap, enter these names as COMMAND.COM /C or PARM.EXE. KingQWK doesn't change to its work directory when unpacking a QWK, so you'll have to specify it in UNPACK.BAT. Users of version 1.05 can save changes by killing a message in KingQWK, then unkilling it. It appears that this is enough to get KingQWK to ask if you want to delete killed messages from the QWK packet. Versions of KingQWK prior to 1.05 will automatically re-archive MESSAGES.DAT if it's been changed, even if it wasn't changed by KingQWK. However, the changed .NDX files won't be re-archived. You should reconfigure KingQWK to use KQ-PACK.BAT to call your unpacker. QWKMerge ----- Use QWKM.BAT. If you're using version 1.05, and QWKMerge is not configured to swap, you can enter the name as "QWKM.BAT" (without quotes) Otherwise, use COMMAND /C or PARM. If QWKMerge is configured to swap, enter these names as COMMAND.COM /C or PARM.EXE. Thanks to Mike King for mentioning that version 1.05 of KingQWK and QWKMerge can call batch files directly under some conditions. The configuration programs for KingQWK and QWKMerge don't allow the command lines for packers and unpackers to be very long. You may want to give the batch files shorter names. If you use PARM, you should be able to fit the command lines for most unpackers into the allotted space, though you may need to give PARM.EXE a shorter name. If you can't fit the name of an unpacker into the available space, make a copy of the batch file, and place the name of the unpacker, along with any needed switches in front of the "%1 %2 %3 %4 %5 %6 %7 %8 %9" line. Note: On some systems, KingQWK and QWKmerge may lock up when swapping in from EMS. Swapping to disk or XMS works OK. This doesn't appear to be related to QWKPRUNE. At least, it happens whether or not QWKPRUNE is being run while KingQWK or QWKMerge is swapped. If you have this problem, turn swapping off and try using a third-party swapper. I've gotten SHROOM to work with the "-t *" switch provided that packers and unpackers are entered without extensions. I've also had success using SWAPDOS to swap to EMS. Jabber 1.1+ ----- Use UNPACK.BAT. When editing the unpacking commands in Jabber's configuration file, enter the name as "UNPACK.BAT" (without quotes). Note that the .BAT extension must be given, or Jabber won't know that it's to call a batch file. Thanks to John Erickson for pointing this out. (According to Lawrence Johnstone, 4DOS users may use the .BTM extension. Thanks, Lawrence.) Also, the command lines for unpackers must not contain slashes or backslashes. It appears that confuses Jabber, and causes the parameters to be passed incorrectly. Jabber changes to its work directory when unpacking a QWK, so references to the work directory can be removed from UNPACK.BAT. Session Manager 1.06 ----- Use SMAN.BAT. Session Manager can call batch files directly. Its basic configuration routines don't accept parameters for the programs it runs to pack and unpack QWK files. If you have SMQINST, you can use it to edit the Decompression program filespec. Place the full filespec for SMAN.BAT, including path and extension, in front of the contents of that field. Thanks to Dennis McCunney for telling me that SMQINST allows Session Manager to pass parameters to an unarchiving program. If you tell Session Manager to save the current session, it repacks the .NDX files and MESSAGES.DAT, so you can save the changes. If an entire conference is pruned out, and you didn't delete the QWK after unpacking it, the old .NDX for that conference will be kept. While that conference will be garbled, the rest of the packet should still be readable. Still, I suggest manually deleting the QWK file if you plan to save the session and think all messages in a conference were pruned out. MegaMail 2.10 ----- Use MEGA.BAT. The MegaMail reader can't use a batch file to call an unpacker, nor can it pass parameters to an executable file. However, its /nozip and /import switches will let you import messages from a packet that's been unpacked. To import all packets in your download directory, create a batch file containing this line: for %%f in ([down_dir]\.qw*) do call mega %%f Replace [down_dir] with the full path of the directory your QWK packets are stored in, and remove all occurrences of [down_dir] from MEGA.BAT. Note: call wasn't present in DOS versions earlier than 3.3. Users of these versions use COMMAND /C instead. Power-QWK 2.14 ----- Use PARM.EXE and UNPACK.BAT. In Power-QWK's configuration, put "PARM.EXE ..\UNPACK" (without quotes) in front of the name of your unpacker. Power-QWK's configuration program will locate PARM.EXE, and expand the filename to include the full path. When unpacking a QWK, Power-QWK creates its work directory under the program directory and changes to it. While you don't need to include the work directory in UNPACK.BAT, you do need to say where UNPACK.BAT is when reconfiguring Power-QWK. Speed Read 1.20+ ----- Use UNPACK.BAT. Speed can't call batch files directly, use COMMAND /C or PARM. Speed Read changes to its work directory, so there's no need to refer to the work directory in UNPACK.BAT. You do have to tell Speed Read where UNPACK.BAT is. Be sure to keep the "if exist messages.dat" line, as Speed Read calls unpackers at other times than when it unpacks QWKs. Note: On some systems, Speed Read may lock up when swapping in from EMS. Swapping to disk or XMS works OK. This doesn't appear to be related to QWKPRUNE. At least, it happens whether or not QWKPRUNE is being run while Speed Read is swapped. If you have this problem, turn swapping off and try using a third-party swapper. SHROOM appears to work well. If you're using Speed Read 1.30 or above, change to the other swap code. (SWAP to SPAWNO, or vice versa.) Blue Wave 2.1x ----- Use UNPACK.BAT. When editing the unpacking commands in Blue Wave's configuration, enter the name as "UNPACK.BAT" (without quotes). Note that the .BAT extension must be given, or Blue Wave won't know that it's to call a batch file. Blue Wave doesn't change to its work directory, so you'll have to specify it in UNPACK.BAT. Be sure to keep the "if exist [work_dir]\messages.dat" part, as it should keep QWKPRUNE from being run if a Blue Wave packet is being unpacked. You may want to check for .NDX files instead. RoboMail ----- Use UNPACK.BAT. RoboMail doesn't change to its work directory, so you'll have to specify it in UNPACK.BAT. By default, RoboMail configures itself to use a directory called T_E_M_P, and locates it under the directory RoboMail is located in. RoboMail can call batch files directly. MikeMayl ----- Use UNPACK.BAT. MikeMayl doesn't change to its work directory, so you'll have to specify it in UNPACK.BAT. MikeMayl's work directory is named MM$$WORK, and is created under the root directory of the work drive defined in its configuration. MikeMayl can call batch files directly. Camster ----- Use UNPACK.BAT. Camster doesn't change to its work directory, so you'll have to specify it in UNPACK.BAT. Camster can call batch files directly. POW 1.03 ----- This is based on information provided by Gina Davis. Thanks, Gina. Use POW.BAT. Create a file called POWUNZIP.PIF in the POW program directory. Put POW.BAT, complete with path, in the Program Filename box. Put "POW - UnPacking" in the Window Title box. Leave the Optional Parameters and Start-up Directory boxes blank. If you want, check the Windowed option of Display Usage. The other settings will probably be OK left at the defaults, though you may want to make XMS or EMS available. ----- Some readers have substitution variables that can be used in function key definitions or menu entries. If your reader is one of these, you can use them to add entries to a prune file from within the reader. The output can be generated either by DOS's ECHO command and output redirection, or by MKPRN.EXE (see ADDON.DOC). For example, a function key in SLMR could be configured as: NOSWAP:echo @CONFNUM@,F:@FROM@ >> e:\@BBSID@.prn. Redirection is slightly faster than MKPRN, but doesn't work right if the text being echoed contains the DOS redirection or pipe characters <, >, and |. When setting up such commands, you should give a path to the prune file, so as to say where you want it to be. If your reader doesn't have substitution variables, you may be able to use one of the utilities in ADDON.DOC to create prune file entries.