home *** CD-ROM | disk | FTP | other *** search
/ Power-Programmierung / CD1.mdf / lan / lan / lancomp.pas < prev    next >
Pascal/Delphi Source File  |  1988-06-22  |  22KB  |  755 lines

  1. program Compare(input,output);
  2.  
  3.    {
  4.     program reads datafile produced by dir and rewrites
  5.     appropriate commands into a batch file.
  6.    }
  7.  
  8. const
  9.   diagnostic = false;
  10.   version = '1.00';
  11.   progname = 'LANCOMP';
  12.   ctlh = #08;
  13.   cret = #13;
  14.   linf = #10;
  15.   ctrlz= #26;
  16.  
  17. type
  18.   string1=string[1];
  19.   string2=string[2];
  20.   string30=string[30];
  21.   string13=string[13];
  22.   data_file =
  23.             record
  24.             directory:string[30];
  25.             filename:string[12];
  26.             date_time:string[10];
  27.             size:integer;
  28.             matched:boolean;
  29.             end;
  30.  
  31.  
  32. label
  33.   notag;
  34.  
  35. var
  36.   infiler: file of char;
  37.   outfiler: text;
  38.   ch,yesno:char;
  39.   xstring:string[30];
  40.   xfiles:data_file;
  41.   bfiles,cfiles:array [1..200] of data_file;
  42.   bchoice,cchoice:integer;
  43.   dhard,dsoft:string[1];
  44.   len:integer;
  45.   labeller:string[10];
  46.   drive:string[1];
  47.   subdir:string[30];
  48.   direc  :string[30];
  49.   fsize:string[7];
  50.   size,result:integer;
  51.   text_string:string[80];
  52.   time_string:string[80];
  53.   yr,mo,da,hr,mn:string[2];
  54.   i,j,hour,code:integer;
  55.   fname:string[12];
  56.   reading,done:boolean;
  57.   command_parameter: string[4];
  58.   command_length: integer;
  59.   command_temp: string[128];
  60.   command_line: string[128] absolute cseg:$0080;
  61.  
  62. procedure make_a_box;
  63.  
  64. begin
  65. clrscr;
  66. gotoxy(0,0);
  67. writeln ('┌─────────────────────────────────────────────────────────────────────────────┐');
  68. writeln ('│                                                                             │');
  69. writeln ('│                                                                             │');
  70. writeln ('│                                                                             │');
  71. writeln ('│                                                                             │');
  72. writeln ('│                                                                             │');
  73. writeln ('│                                                                             │');
  74. writeln ('│                                                                             │');
  75. writeln ('│                                                                             │');
  76. writeln ('│                                                                             │');
  77. writeln ('│                                                                             │');
  78. writeln ('│                                                                             │');
  79. writeln ('└─────────────────────────────────────────────────────────────────────────────┘');
  80. gotoxy(29,3);
  81. write ('F L O P P Y  -  L A N');
  82. gotoxy(52,4);
  83. write ('System (C) by:');
  84. gotoxy(52,6);
  85. write ('Leonard P. Levine');
  86. gotoxy(52,7);
  87. write ('3942 N. Oakland Ave. #241');
  88. gotoxy(52,8);
  89. write ('Shorewood, WI 53211');
  90. gotoxy(52,9);
  91. write ('(414) 962-4719');
  92. gotoxy(52,10);
  93. write ('len@evax.milw.wisc.edu');
  94. gotoxy(3,12);
  95. write ('Program:',progname);
  96. gotoxy(52,12);
  97. write('Version: ',version);
  98. gotoxy(3,5);
  99. write ('Type ^C to ABORT this entire process');
  100. gotoxy(3,10);
  101. write ('Trim option ');
  102.  if command_parameter = 'TRIM' then write('ON. ') else write('off.');
  103. gotoxy(52,12);
  104. write('Version: ',version);
  105. gotoxy(3,8);
  106. write('working ... ');
  107. end;  {make_a_box}
  108.  
  109. procedure makeroom;
  110. begin writeln; writeln; writeln; writeln;
  111.       writeln; writeln; writeln; writeln;
  112. end;
  113.  
  114. function fix(str:string2):string2;
  115.  begin
  116.    if copy(str,1,2) = '  '
  117.    then
  118.    fix := '00'
  119.    else
  120.      begin
  121.      if copy(str,1,1) = ' '
  122.      then
  123.      fix := '0' + copy(str,2,1)
  124.      else
  125.      fix := str;
  126.      end;
  127.    end; {function fix}
  128.  
  129. function filefix(filename:string13):string13;
  130.  var
  131.    filetemp:string13;
  132.    i:integer;
  133.  
  134.  begin
  135.  filetemp := copy(filename,1,8)+'.'+copy(filename,10,3);
  136.  for i := 12 downto 1 do
  137.    begin
  138.    if copy(filetemp,i,1) = ' ' then filetemp := copy(filetemp,1,i-1)+copy(filetemp,i+1,12);
  139.    end;
  140.  filefix := filetemp;
  141.  end;
  142.  
  143. function trim(instringer:string30):string30;
  144.   var
  145.    itrim,counter:integer;
  146.  begin
  147.    for itrim := length(instringer) downto 1 do
  148.      if copy(instringer,itrim,1) = ' ' then counter := itrim-1;
  149.    trim := copy(instringer,1,counter);
  150.  end;
  151.  
  152.  
  153. procedure makesubdir(drivename:string1;dirname:string30);
  154. {
  155. Make a sub-directory when needed.
  156. }
  157. var
  158.   dummydir:string[30];
  159. begin
  160. dummydir:=dirname;
  161. if diagnostic then writeln('Make a new directory.');
  162. if diagnostic then writeln('mkdir  ',drivename,':',dummydir);
  163. writeln(outfiler,'echo mkdir ',drivename,':',dummydir);
  164. writeln(outfiler,'mkdir ',drivename,':',dummydir);
  165. end; {makesubdir}
  166.  
  167. procedure makemaindir(drivename:string1;dirlocal:string30);
  168. {
  169. Make a directory when needed.
  170. }
  171. var
  172.   loc  :integer;
  173. begin
  174.   loc := 2;
  175.   while (copy(dirlocal,loc-1,1) <> ' ') and (loc < 29) do
  176.     begin
  177.     if (copy(dirlocal,loc,1) = '\') or (copy(dirlocal,loc,1) = ' ') then
  178.       begin
  179.       direc := copy(dirlocal,1,loc-1);
  180.       makesubdir(drivename,direc);
  181.       end;
  182.     loc := loc+1;
  183.     end;
  184. end; {makemaindir}
  185.  
  186. procedure toflop;
  187. begin
  188. if diagnostic then
  189.    begin
  190.    writeln('Hard disk copy of ',cfiles[j].filename,' is newer.');
  191.    write  ('copy ',dhard,':',trim(cfiles[j].directory),'\');
  192.    write  (filefix(cfiles[j].filename),'  ',dsoft,':');
  193.    writeln(trim(cfiles[j].directory),'\',filefix(cfiles[j].filename));
  194.    end;
  195. writeln (outfiler,'echo on');
  196. write   (outfiler,'copy ',dhard,':',trim(cfiles[j].directory),'\');
  197.  write  (outfiler,filefix(cfiles[j].filename),'  ',dsoft,':');
  198.  writeln(outfiler,trim(cfiles[j].directory),'\',filefix(cfiles[j].filename));
  199. writeln (outfiler,'@echo off');
  200. end; {toflop}
  201.  
  202. procedure tohard;
  203.  begin
  204.  if diagnostic then writeln('Floppy disk copy of ',bfiles[i].filename,' is newer.');
  205.  { backup the hard file}
  206.  if diagnostic then write('copy ',dhard,':',trim(cfiles[j].directory),'\');
  207.   if diagnostic then writeln(filefix(cfiles[j].filename),'  ',dhard,':\LAN\BAQ  >nul:');
  208.  write(outfiler,'copy ',dhard,':',trim(cfiles[j].directory),'\');
  209.   writeln(outfiler,filefix(cfiles[j].filename),'  ',dhard,':\LAN\BAQ  >nul:');
  210.  { copy the soft file over to the hard disk}
  211.  if diagnostic then write('copy ',dsoft,':',trim(cfiles[j].directory),'\',filefix(cfiles[j].filename));
  212.   if diagnostic then writeln('  ',dhard,':',trim(cfiles[j].directory),'\',filefix(cfiles[j].filename));
  213.  writeln (outfiler,'echo on');
  214.  write(outfiler,'copy ',dsoft,':',trim(cfiles[j].directory),'\',filefix(cfiles[j].filename));
  215.   writeln(outfiler,'  ',dhard,':',trim(cfiles[j].directory),'\',filefix(cfiles[j].filename));
  216.  writeln (outfiler, '@echo off');
  217.  {
  218.    If command_parameter = 'TRIM',
  219.    replace soft file with zero byte file and set its date
  220.  }
  221.  if command_parameter = 'TRIM' then
  222.    begin
  223.    if diagnostic then
  224.      begin
  225.      write   ('del ',dsoft,':',trim(cfiles[j].directory));
  226.      writeln ('\',filefix(bfiles[i].filename),' >nul:');
  227.      write   ('touch ',copy(bfiles[i].date_time,3,8)+copy(bfiles[i].date_time,1,2));
  228.      writeln (' ',dsoft,':',trim(cfiles[j].directory),'\',filefix(bfiles[i].filename));
  229.      end;
  230.    write   (outfiler,'del ',dsoft,':',trim(cfiles[j].directory));
  231.    writeln (outfiler,'\',filefix(bfiles[i].filename),' >nul:');
  232.    writeln (outfiler,'touch ',dsoft,':',trim(cfiles[j].directory),'\x_x');
  233.    write   (outfiler,'ren ',dsoft,':',trim(cfiles[j].directory),'\x_x ');
  234.    writeln (outfiler,filefix(bfiles[i].filename));
  235.    write   (outfiler,'touch ',copy(bfiles[i].date_time,3,8)+copy(bfiles[i].date_time,1,2));
  236.    writeln (outfiler,' ',dsoft,':',trim(cfiles[j].directory),'\',filefix(bfiles[i].filename));
  237.    end
  238. end; {tohard}
  239.  
  240. procedure matchup;
  241. begin
  242. for i := 1 to bchoice do
  243.   begin
  244.   for j := 1 to cchoice do
  245.     begin
  246.     if (bfiles[i].filename = cfiles[j].filename)
  247.       and
  248.       (bfiles[i].directory = cfiles[j].directory)
  249.       then   {a match between two files has been found. }
  250.       begin
  251.       bfiles[i].matched := true;
  252.       cfiles[j].matched := true;
  253.       if bfiles[i].date_time < cfiles[j].date_time then
  254.         toflop;
  255.       if bfiles[i].date_time > cfiles[j].date_time then
  256.         if bfiles[i].size > 0 then
  257.         tohard
  258.         else
  259.           begin
  260.           makeroom;
  261.           writeln('There is a problem with file ',trim(cfiles[j].directory),'\',filefix(cfiles[j].filename));
  262.           writeln('(the floppy file is newer, but is of length zero.)');
  263.           writeln('(there may be a clock error, no action will be taken.)');
  264.           writeln;
  265.           write('Strike a key to continue.   ');
  266.           read(kbd,yesno);
  267.           make_a_box;
  268.           end;
  269.       end;
  270.     end;
  271.   end;
  272. end;
  273.  
  274. procedure lastbox;
  275. begin
  276. gotoxy(3,8);
  277. write ('Done.           ');
  278. gotoxy(1,13);
  279. writeln ('├─────────────────────────────────────────────────────────────────────────────┤');
  280. writeln ('│    Messages like: "Unable to create directory" are normal when new files    │');
  281. writeln ('│    have been added.  Messages like "Insufficient disk space" are not.       │');
  282. writeln ('└─────────────────────────────────────────────────────────────────────────────┘');
  283. end;
  284.  
  285. {main Program}
  286. begin
  287. bchoice := 1;
  288. cchoice := 1;
  289. xfiles.matched := false;
  290. command_temp := command_line;
  291. command_length := length(command_temp);
  292. command_parameter := '    ';
  293. if command_length <> 0 then
  294.   begin
  295.   while copy(command_temp,1,1) = ' ' do
  296.    command_temp := copy(command_temp,2,44)+'X'; {clear out blanks}
  297.   command_parameter  := copy(command_temp,1,4);
  298.   end;
  299. if diagnostic then writeln ('The value of the parameter is ',command_parameter);
  300. make_a_box;
  301. assign (infiler,'x1.dat');
  302. assign (outfiler,'x2.bat');
  303. reset (infiler);
  304. rewrite(outfiler);
  305. if not diagnostic then
  306.   writeln(outfiler,'@echo off');
  307. writeln(outfiler,'echo --System Messages, if any-----');
  308. while not eof(infiler) do
  309.   begin                        {endfiler}
  310.   text_string := 'file:     ';
  311.   reading := true;
  312.   while reading do
  313.     begin                      {reading}
  314.     read(infiler,ch);
  315.     case ch of
  316.       ctrlz: reading := false;
  317.       cret: reading := false;
  318.       linf: reading := false;
  319.       else text_string := text_string + ch;
  320.       end;
  321.     end;                       {reading}
  322.   if text_string <> 'file:     ' then
  323.     begin                       {goodline}
  324.     text_string := text_string+'                    ';
  325.     {First establish Volume ID}
  326.  
  327.     if copy(text_string,12,15)='Volume in drive' then
  328.        drive:= copy(text_string,28,1);
  329.  
  330.     if copy(text_string,12,12)='Directory of' then
  331.        begin
  332.        subdir:=copy(text_string,28,30);
  333.        xfiles.directory := subdir;
  334.        end;
  335.  
  336.     {Then find the files}
  337.     if (copy(text_string,11,1) <> ' ')
  338.      and
  339.     (copy(text_string,11,1) <> '-')
  340.      and
  341.     (copy(text_string,24,5) <> '<DIR>')
  342.      then
  343.         begin                                  {foundfile}
  344.         if cchoice mod 2 = 1
  345.          then
  346.          write ('  \',ctlh,ctlh,ctlh)
  347.          else
  348.          write ('  /',ctlh,ctlh,ctlh);
  349.         if diagnostic then write(drive,':',copy(subdir,1,12));
  350.         if diagnostic then writeln(copy(text_string,11,40));
  351.         fname := copy(text_string,11,12);
  352.         xfiles.filename := fname;
  353.         fsize := copy(text_string,25,7);
  354.         while copy(fsize,1,1) = ' ' do fsize := copy(fsize,2,30);
  355.         if length(fsize) >3 then fsize := '999';
  356.         val(fsize,size,result);
  357.         xfiles.size := size;
  358.         yr := copy(text_string,40,2);
  359.         yr := fix(yr);
  360.         mo := copy(text_string,34,2);
  361.         mo := fix(mo);
  362.         da := copy(text_string,37,2);
  363.         da := fix(da);
  364.         mn := copy(text_string,47,2);
  365.         mn := fix(mn);
  366.         hr := copy(text_string,44,2);
  367.         if hr = '12' then
  368.           hr := '00';
  369.         if copy(text_string,49,1) = 'p' then
  370.           begin
  371.           hr := fix(hr);
  372.           val(copy(hr,1,2),hour,code);
  373.           hour := hour+12;
  374.           str(hour:2,hr);
  375.           end;
  376.         hr := fix(hr);
  377.         time_string := yr+mo+da+hr+mn;
  378.         xfiles.date_time := time_string;
  379.         if (drive = 'A') or (drive = 'B') then
  380.           begin
  381.           dsoft := drive;
  382.           bfiles[bchoice] := xfiles;
  383.           bchoice := bchoice + 1;
  384.           end;
  385.         if (drive = 'C') or (drive = 'D') or (drive = 'E') or (drive = 'F') then
  386.           begin
  387.           dhard := drive;
  388.           cfiles[cchoice] := xfiles;
  389.           cchoice := cchoice + 1;
  390.           end;
  391.         end;                                  {foundfile}
  392.     end;                                      {goodline}
  393.   end;                                      {endfiler}
  394. bchoice := bchoice - 1;
  395. cchoice := cchoice - 1;
  396. {
  397.       Begin the checking Process.
  398. }
  399. if diagnostic then
  400.   begin
  401.     for i := 1 to bchoice do
  402.     begin
  403.     writeln(dsoft,':\',trim(bfiles[i].directory),'\',bfiles[i].filename,' ',bfiles[i].date_time,'  ',bfiles[i].size);
  404.     end;
  405.     for i := 1 to cchoice do
  406.     begin
  407.     writeln(dhard,':\',trim(cfiles[i].directory),'\',cfiles[i].filename,' ',cfiles[i].date_time,'  ',bfiles[i].size);
  408.     end;
  409.   end; {diagnostic print}
  410. matchup;
  411. for j := 1 to cchoice do
  412.   begin
  413.   if not cfiles[j].matched then
  414.     begin
  415.     makeroom;
  416.     writeln('There is a File On Hard Drive, not on Floppy Drive:            ');
  417.     writeln;
  418.     writeln(dhard,':',trim(cfiles[j].directory),'\',filefix(cfiles[j].filename));
  419.     writeln;
  420.     write('Should I move it to floppy?(y,n) ');
  421.     done := false;
  422.     while done <> true do
  423.     begin
  424.       read(kbd,yesno);
  425.       if (upcase(yesno) = 'Y') or (upcase(yesno) = 'N') then done := true;
  426.       end;
  427.     if upcase(yesno) = 'Y' then
  428.      begin
  429.      writeln ('Y');
  430.      makemaindir(dsoft,cfiles[j].directory);
  431.      toflop;
  432.      end
  433.     else writeln('N');
  434.     make_a_box;
  435.     end;
  436.   end;
  437. for i := 1 to bchoice do
  438.   begin
  439.   if (not bfiles[i].matched) and (bfiles[i].size > 0) then
  440.    begin
  441.     makeroom;
  442.     writeln('There is a File On Floppy Drive, not on Hard Drive:            ');
  443.     writeln;
  444.     writeln(dsoft,':',trim(bfiles[i].directory),'\',filefix(bfiles[i].filename));
  445.     writeln;
  446.     write('Should I move it to hard drive?(y,n) ');
  447.     done := false;
  448.     while done <> true do
  449.     begin
  450.       read(kbd,yesno);
  451.       if (upcase(yesno) = 'Y') or (upcase(yesno) = 'N') then done := true;
  452.       end;
  453.     if upcase(yesno) = 'Y' then
  454.      begin
  455.      writeln ('Y');
  456.      j := cchoice + 1;
  457.      cchoice := cchoice + 1;
  458.      cfiles[j] := bfiles[i];
  459.      cfiles[j].directory := bfiles[i].directory;
  460.      makemaindir(dhard,bfiles[i].directory);
  461.      tohard;
  462.      end
  463.     else writeln('N');
  464.     make_a_box;
  465.     end;
  466.   end;
  467. close(outfiler);
  468. lastbox;
  469. end.
  470.  
  471. { Text file looks like the following:
  472.  
  473. --------------------------------
  474.  
  475.  Volume in drive B has no label
  476.  Directory of  B:\LAN
  477.  
  478. LAN      FIL      384   6-09-88   1:10p
  479.         1 File(s)     40960 bytes free
  480. --------------------------------
  481.  
  482.  Volume in drive C is DRIVE_C
  483.  Directory of  C:\LAN
  484.  
  485. LAN      FIL      384   6-09-88   1:10p
  486.         1 File(s)   5236736 bytes free
  487. --------------------------------
  488.  
  489.  Volume in drive B has no label
  490.  Directory of  B:\LAN
  491.  
  492. LAN      DOC     7808   6-09-88  11:56a
  493.         1 File(s)     40960 bytes free
  494. --------------------------------  
  495.  
  496.  Volume in drive C is DRIVE_C    
  497.  Directory of  C:\LAN
  498.  
  499. LAN      DOC     7808   6-09-88  11:56a
  500.         1 File(s)   5236736 bytes free
  501. --------------------------------  
  502.  
  503.  Volume in drive B has no label
  504.  Directory of  B:\LAN
  505.  
  506. LANMKDIR PAS     3090   6-09-88  11:14a
  507.         1 File(s)     40960 bytes free
  508. --------------------------------  
  509.  
  510.  Volume in drive C is DRIVE_C    
  511.  Directory of  C:\LAN
  512.  
  513. LANMKDIR PAS     3090   6-09-88  11:14a
  514.         1 File(s)   5236736 bytes free
  515. --------------------------------  
  516.  
  517.  Volume in drive B has no label
  518.  Directory of  B:\LAN
  519.  
  520. LANCOMP  PAS    13514   6-09-88   1:17p
  521.         1 File(s)     40960 bytes free
  522. --------------------------------  
  523.  
  524.  Volume in drive C is DRIVE_C    
  525.  Directory of  C:\LAN
  526.  
  527. LANCOMP  PAS    13514   6-09-88   1:17p
  528.         1 File(s)   5236736 bytes free
  529. --------------------------------  
  530.  
  531.  Volume in drive B has no label
  532.  Directory of  B:\LAN
  533.  
  534. LANMKDIR COM    12799   6-09-88  11:29a
  535.         1 File(s)     40960 bytes free
  536. --------------------------------  
  537.  
  538.  Volume in drive C is DRIVE_C    
  539.  Directory of  C:\LAN
  540.  
  541. LANMKDIR COM    12799   6-09-88  11:29a
  542.         1 File(s)   5236736 bytes free
  543. --------------------------------  
  544.  
  545.  Volume in drive B has no label
  546.  Directory of  B:\LAN
  547.  
  548. LANCOMP  COM    18929   6-09-88   1:17p
  549.         1 File(s)     40960 bytes free
  550. --------------------------------  
  551.  
  552.  Volume in drive C is DRIVE_C    
  553.  Directory of  C:\LAN
  554.  
  555. LANCOMP  COM    18929   6-09-88   1:17p
  556.         1 File(s)   5234688 bytes free
  557. --------------------------------  
  558.  
  559.  Volume in drive B has no label
  560.  Directory of  B:\AN
  561.  
  562. NOTES            3141   6-08-88  11:49a
  563.         1 File(s)     40960 bytes free
  564. --------------------------------  
  565.  
  566.  Volume in drive C is DRIVE_C    
  567.  Directory of  C:\AN
  568.  
  569. NOTES            3141   6-08-88  11:49a
  570.         1 File(s)   5234688 bytes free
  571. --------------------------------
  572.  
  573.  Volume in drive B has no label
  574.  Directory of  B:\AN
  575.  
  576. NOTESARC         9024   6-05-88   2:02p
  577.         1 File(s)     40960 bytes free
  578. --------------------------------  
  579.  
  580.  Volume in drive C is DRIVE_C    
  581.  Directory of  C:\AN
  582.  
  583. NOTESARC         9024   6-05-88   2:02p
  584.         1 File(s)   5234688 bytes free
  585. --------------------------------  
  586.  
  587.  Volume in drive B has no label
  588.  Directory of  B:\AN
  589.  
  590. WRITINGS         3456   5-18-88   7:09p
  591.         1 File(s)     40960 bytes free
  592. --------------------------------  
  593.  
  594.  Volume in drive C is DRIVE_C
  595.  Directory of  C:\AN
  596.  
  597. WRITINGS         3456   5-18-88   7:09p
  598.         1 File(s)   5234688 bytes free
  599. --------------------------------  
  600.  
  601.  Volume in drive B has no label
  602.  Directory of  B:\PHONEDEX
  603.  
  604. PHONEDEX DBF    34987   6-06-88   2:57p
  605.         1 File(s)     40960 bytes free
  606. --------------------------------  
  607.  
  608.  Volume in drive C is DRIVE_C    
  609.  Directory of  C:\PHONEDEX
  610.  
  611. PHONEDEX DBF    34987   6-06-88   2:57p
  612.         1 File(s)   5234688 bytes free
  613. --------------------------------  
  614.  
  615.  Volume in drive B has no label
  616.  Directory of  B:\PHONEDEX
  617.  
  618. PHONEDEX NDX    11776   6-06-88   2:57p
  619.         1 File(s)     40960 bytes free
  620. --------------------------------  
  621.  
  622.  Volume in drive C is DRIVE_C    
  623.  Directory of  C:\PHONEDEX
  624.  
  625. PHONEDEX NDX    11776   6-06-88   2:57p
  626.         1 File(s)   5234688 bytes free
  627. --------------------------------  
  628.  
  629.  Volume in drive B has no label
  630.  Directory of  B:\LLCLASS
  631.  
  632. STUDENTS DBF    75894   5-30-88  12:06p
  633.         1 File(s)     40960 bytes free
  634. --------------------------------  
  635.  
  636.  Volume in drive C is DRIVE_C    
  637.  Directory of  C:\LLCLASS
  638.  
  639. STUDENTS DBF    75894   5-30-88  12:06p
  640.         1 File(s)   5232640 bytes free
  641. --------------------------------  
  642.  
  643.  Volume in drive B has no label
  644.  Directory of  B:\LLCLASS
  645.  
  646. STUDENTS NDX    63488   5-30-88  11:47a
  647.         1 File(s)     40960 bytes free
  648. --------------------------------  
  649.  
  650.  Volume in drive C is DRIVE_C    
  651.  Directory of  C:\LLCLASS
  652.  
  653. STUDENTS NDX    63488   5-30-88  11:47a
  654.         1 File(s)   5232640 bytes free
  655. --------------------------------  
  656.  
  657.  Volume in drive B has no label
  658.  Directory of  B:\LLCLASS
  659.  
  660. E459     DBF     4539   5-18-88  11:37a
  661.         1 File(s)     40960 bytes free
  662. --------------------------------  
  663.  
  664.  Volume in drive C is DRIVE_C    
  665.  Directory of  C:\LLCLASS
  666.  
  667. E459     DBF     4539   5-18-88  11:37a
  668.         1 File(s)   5232640 bytes free
  669. --------------------------------  
  670.  
  671.  Volume in drive B has no label
  672.  Directory of  B:\LLCLASS
  673.  
  674. SPECIAL  DBF     2048   6-08-88  10:57a
  675.         1 File(s)     40960 bytes free
  676. --------------------------------  
  677.  
  678.  Volume in drive C is DRIVE_C    
  679.  Directory of  C:\LLCLASS
  680.  
  681. SPECIAL  DBF     2048   6-08-88  10:57a
  682.         1 File(s)   5232640 bytes free
  683. --------------------------------  
  684.  
  685.  Volume in drive B has no label
  686.  Directory of  B:\LLCLASS
  687.  
  688. E459     NTS     4480   3-28-88   9:44a
  689.         1 File(s)     40960 bytes free
  690. --------------------------------  
  691.  
  692.  Volume in drive C is DRIVE_C    
  693.  Directory of  C:\LLCLASS
  694.  
  695. E459     NTS     4480   3-28-88   9:44a
  696.         1 File(s)   5232640 bytes free
  697. --------------------------------  
  698.  
  699.  Volume in drive B has no label
  700.  Directory of  B:\LLCLASS
  701.  
  702. E459     EXM     5248   5-08-88  10:52a
  703.         1 File(s)     40960 bytes free
  704. --------------------------------  
  705.  
  706.  Volume in drive C is DRIVE_C    
  707.  Directory of  C:\LLCLASS
  708.  
  709. E459     EXM     5248   5-08-88  10:52a
  710.         1 File(s)   5232640 bytes free
  711. --------------------------------  
  712.  
  713.  Volume in drive B has no label
  714.  Directory of  B:\LLCLASS
  715.  
  716. MASTERS  DBF     6715   6-08-88   9:19p
  717.         1 File(s)     40960 bytes free
  718. --------------------------------  
  719.  
  720.  Volume in drive C is DRIVE_C    
  721.  Directory of  C:\LLCLASS
  722.  
  723. MASTERS  DBF     6715   6-08-88   9:19p
  724.         1 File(s)   5230592 bytes free
  725. --------------------------------  
  726.  
  727.  Volume in drive B has no label
  728.  Directory of  B:\LLE132
  729.  
  730. EXAM     132    18432   5-02-88   7:05p
  731.         1 File(s)     40960 bytes free
  732. --------------------------------
  733.  
  734.  Volume in drive C is DRIVE_C    
  735.  Directory of  C:\LLE132
  736.  
  737. EXAM     132    18432   5-02-88   7:05p
  738.         1 File(s)   5230592 bytes free
  739. --------------------------------  
  740.  
  741.  Volume in drive B has no label
  742.  Directory of  B:\LLE132
  743.  
  744. E132     SYL     3456   5-31-88   8:25a
  745.         1 File(s)     40960 bytes free
  746. --------------------------------  
  747.  
  748.  Volume in drive C is DRIVE_C    
  749.  Directory of  C:\LLE132
  750.  
  751. E132     SYL     3456   5-31-88   8:25a
  752.         1 File(s)   5230592 bytes free
  753. --------------------------------  
  754. }
  755.