home *** CD-ROM | disk | FTP | other *** search
/ Shareware 1 2 the Maxx / sw_1.zip / sw_1 / COMM / MKDLIST.ZIP / MKDLIST.PAS < prev    next >
Pascal/Delphi Source File  |  1992-02-19  |  1KB  |  67 lines

  1.  
  2. (*
  3.  * mkdlist - find all available files in a subdirectory tree
  4.  *
  5.  * Author: S.H.Smith, 5-Apr-86 (18-Feb-92)
  6.  *
  7.  *)
  8.  
  9. {$m 10000,0,500000}
  10.  
  11. uses DOS;
  12.  
  13. const
  14.    version = 'MKDLIST 1.0 of 02-18-92   (C) 1992 Samuel H. Smith';
  15.  
  16. procedure getfiles(dir: dirstr);
  17. var
  18.    DirInfo:       SearchRec;
  19.  
  20. begin
  21.    if dir[length(dir)] = '\' then
  22.       dec(dir[0]);
  23.  
  24.    FindFirst(dir+'\*.*',Anyfile,DirInfo);
  25.    while (DosError = 0) do
  26.    begin
  27.       if ((DirInfo.Attr and Directory) = 0) then
  28.          writeln(DirInfo.name);
  29.       FindNext(DirInfo);
  30.    end;
  31.  
  32.    FindFirst(dir+'\*.*',Anyfile,DirInfo);
  33.    while (DosError = 0) do
  34.    begin
  35.       if ((DirInfo.Attr and Directory) <> 0) and (DirInfo.name[1] <> '.') then
  36.          getfiles(dir+'\'+DirInfo.Name);
  37.       FindNext(DirInfo);
  38.    end;
  39. end;
  40.  
  41. var
  42.    i:       integer;
  43.    outbuf:  array[1..32000] of char;
  44.  
  45. begin
  46.    settextbuf(output,outbuf);
  47.  
  48.    if paramcount = 0 then
  49.    begin
  50.       writeln(version);
  51.       writeln;
  52.       writeln('Usage:  MKDLIST dir ... dir [>out]');
  53.       writeln;
  54.       writeln('Example:');
  55.       writeln(' ECHO C:\UPLOAD >C:PROTO\DUPLIST.DAT');
  56.       writeln(' MKDLIST C:\DL1 D:\DL2 K:\ >>C:PROTO\DUPLIST.DAT');
  57.       writeln(' MKDLIST L:\COMM L:\GIF L:\EDIT L:\GRAPH >>C:PROTO\DUPLIST.DAT');
  58.       writeln(' MKDLIST K:\ >>C:PROTO\DUPLIST.DAT');
  59.       writeln;
  60.       halt(1);
  61.    end;
  62.  
  63.    for i := 1 to paramcount do
  64.       getfiles(paramstr(i));
  65. end.
  66.  
  67.