After being told time after time that the fault was mine, I spent more
than a few hours searching, going step by step through every file
involved.
I paid particular attention to batch programs because Arachne is totally
dependent upon them working flawlessly each time they are called.
Batch files for Arachne, particularly ones which can result in deletion
of files, *must* be bulletproof.
CLR.BAT as included with the Arachne package is FAR from bullet proof.
If for any reason, a slip of the finger in mime.cfg or lost data, one of
the variables should be missing, clr.bat will delete every file within
the directory where it was invoked. That -- a failure of one variable
to pass to clr.bat -- is what erased my entire Arachne main directory.
I strongly urge you to test the revised CLR.BAT I've included in this
message [users -- do this only if you have a mirror of your installation
or a full backup, please!], and use it to replace the CLR.BAT file in
all Arachne distributions which use it.
Why this file is not destructive: It tests for the presense of the
correct variable before doing anything. If the variable has not been
passed to it, nothing will be done which involves that variable. That
means that DOS will never receive a command which reads del *.*
Why the current file *is* destructive: If a variable fails to be
passed, that leaves %3 equalling abosolutely nothing. So a command of
"if exist %3*.* del %3*.*" passes to DOS as "if exist *.* del *.*
The revised [much more bullet proof] CLR.BAT file follows:
-------------------------------
@echo off
:: This file has been rewritten; the previous program would delete everything
:: in the main Arachne directory if any of the values passed was blank.
:: Usage: clrcache.dgi (cache.idx) (cache path) (TEMP path) (filemask)
:: Cache path or TEMP path MUST NOT be the same as Arachne installation dir.!
if not "%1"=="" if exist %1 del %1
if not "%3"=="" if exist %3$roura$.BAT copy %3$roura$.BAT bat.tmp>NUL
if not "%2"=="" for %%f in (%2*.*) do del %%f
if not "%2"=="" for %%f in (%2headers\*.*) do del %%f
if not "%3"=="" for %%f in (%3*.*) do del %%%f
if not "%3"=="" if exist bat.tmp copy bat.tmp %3$roura$.BAT>NUL
if exist bat.tmp del bat.tmp
------------------------------
If you are set up for testing [mirrored installation or full backup
available] the simplest way to test the old file and then, after
reinstalling arachne, this file is to edit MIME.CFG by going to the
ClearCache DGI line and deleting the last variable [ ] at the end of the
line.
With the old program your main directory will be emptied; with the new
program you might not get exactly the results you want, but you won't
have everything disappear either.
I believe I tested carefully. But please don't take my word on this --
I don't want anyone else yelling at me!!! If you are going to use the
new file, TEST FIRST or wait for someone you trust to say s/he has run
the tests and I am correct.
l.d.
--
Join B'FOR - B'mothers For Open Records
<a href=" http://www.b-for.org "> B'FOR web site</A>
[Associate members of triad also welcome; membership confidential.]
Every member counts! We need numbers to produce valid statistics.
*******
A proud member of
<A HREF="http://www.phenomenalwomen.com/"> Phenomenal Women Of The Web</a>
-- Arachne V1.69, NON-COMMERCIAL copy, http://arachne.cz/