10 REM > Wiper 1.01
   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%