10
20 :
30 DIM ctrl% 31,name% 127:X%=ctrl%:Y%=X%DIV256
40 INPUT "Directory to wipe: "fn$
50 at$="":IF FNfile("@",5)=2:at$="@."
60 path$="":conf%=TRUE:A%=FNdelete
70 END
80 :
90 DEFFNdelete
100 LOCAL empty%,access%
110 PRINT "Delete ";path$;fn$;:conf%=FNyna(conf%):IF conf%>0:PRINT:=FALSE
120 type%=FNfile(at$+fn$,5):access%=X%?14:empty%=TRUE:PRINT
130 IF type%=2:OSCLI "Dir "+at$+fn$:empty%=FNwipe:OSCLI "Dir ^"
140 IF empty%:IF access%AND8:OSCLI "Access "+at$+fn$
150 IF empty%:OSCLI "Delete "+at$+fn$
160 =empty%
170 :
180 DEFFNwipe
190 path$=path$+fn$+".":empty%=TRUE
200 LOCAL fn$,idx%,oldidx%
210 REPEAT
220 oldidx%=idx%:fn$=FNgbpb8(idx%):idx%=X%!9
230 IF fn$<>"":done%=FNdelete:empty%=empty% AND done%:IF done%:idx%=oldidx%
240 UNTIL fn$=""
250 REPEATpath$=LEFT$(path$,LENpath$-1):UNTILRIGHT$(path$,1)="." OR path$=""
260 =empty%
270 :
280 DEFFNyna(A%):IFA%=0:=0
290 PRINT "? (Y/N/A)";:REPEAT:A%=INSTR("YAN",CHR$(GETAND&DF)):UNTILA%
300 PRINTSTRING$(7,CHR$127);MID$("YesAllNo ",A%*3-2,3);:=A%-2
310 DEFFNfile(A$,A%):$name%=A$:?X%=name%:X%?1=name%DIV256:=(USR&FFDD)AND&FF
320 DEFFNgbpb8(ptr%):X%!1=name%:X%!5=1:X%!9=ptr%:A%=8:CALL&FFD1:IFX%!5=1:=""
330 A%=name%+1:A%!(A%?-1)=&D20:A%?(INSTR($A%," ")-1)=13:=$A%