home *** CD-ROM | disk | FTP | other *** search
/ GEMini Atari / GEMini_Atari_CD-ROM_Walnut_Creek_December_1993.iso / files / diskutil / zzzap / zzzap.mod < prev    next >
Text File  |  1987-01-27  |  2KB  |  72 lines

  1. MODULE Zzzap; (* delete superfluous files from RAMdisk C.
  2.                  Designed to be used in AUTO folder after RD and AUTODISK.
  3.                  Based on a C program by John Purbrick, modifications and
  4.                  translation to Modula-2 by Bill Silvert. *)
  5.  
  6. FROM InOut IMPORT Write, WriteString, WriteLn, Read;
  7. FROM Strings IMPORT Concat;
  8. FROM GEMDOS IMPORT SetDTA, SFirst, SNext, Delete, DirDelete;
  9. FROM SYSTEM IMPORT ADR;
  10. FROM ASCII IMPORT ESC;
  11.  
  12. TYPE DTA =  RECORD
  13.               dummy : ARRAY [0..29] OF CHAR;
  14.               name  : ARRAY [0..13] OF CHAR;
  15.             END;
  16.             
  17. CONST DEBUG = FALSE;
  18.  
  19. VAR result : INTEGER;
  20.     path : ARRAY [0..30] OF CHAR;
  21.     DTAbuffer : DTA;
  22.     
  23. PROCEDURE Erase(VAR filename : ARRAY OF CHAR );
  24. BEGIN
  25.     WriteString(filename);
  26.     IF NOT DEBUG
  27.     THEN IF Delete(filename)
  28.          THEN WriteString(" deleted.")
  29.          ELSE WriteString(" NOT deleted."); Read(path[0]);
  30.          END;
  31.     END;
  32.     WriteLn;
  33. END Erase;
  34.  
  35. PROCEDURE Warn;
  36. BEGIN
  37.     WriteString("  Hit any key --"); Read(path[0])
  38. END Warn;
  39.  
  40. BEGIN
  41.     Write(ESC); Write('E'); WriteLn; (* clear screen *)
  42.     WriteString("ZZZAP erases unneeded files from RAMdisk C"); WriteLn;
  43.     WriteString("Original version in C by John Purbrick, adapted"); WriteLn;
  44.     WriteString("for TDI/Modula-2 by Bill Silvert, 87/01/28, ver. 0.0");
  45.     WriteLn; WriteLn; WriteString("Erasing Files:"); WriteLn; WriteLn;
  46.     Erase("C:\DESKTOP.INF");
  47.     SetDTA(ADR(DTAbuffer));
  48.     path := "C:*.ACC";
  49.     SFirst(path, 0, result);
  50.     WHILE result > -1 DO
  51.       Concat("C:\", DTAbuffer.name, path);
  52.       Erase(path);
  53.       SNext(result);
  54.     END;
  55.     path := "C:\AUTO\*.*";
  56.     SFirst(path, 0, result);
  57.     WHILE result > -1 DO
  58.       Concat("C:\AUTO\", DTAbuffer.name, path);
  59.       Erase(path);
  60.       SNext(result);
  61.     END;
  62.     IF DEBUG
  63.     THEN WriteString("AUTO remains.")
  64.     ELSE IF DirDelete("C:\AUTO")
  65.          THEN WriteString("Empty AUTO folder deleted.")
  66.          ELSE WriteString("Unable to delete AUTO folder."); Warn;
  67.          END
  68.     END;
  69.     WriteLn;
  70.     IF DEBUG THEN Warn END;
  71. END Zzzap.         
  72.