[Back to DIRS SWAG index]  [Back to Main SWAG index]  [Original]

{
 On 05-25-94 ROBERT HARRISON wrote to ALL...

 RH>   I'm trying to obtain the source for searching for files in all
 RH> directories and drives.  Anyone happened to have the information
 RH> they would like to share with me?  Thanks.

----------------- 8< ------------- }

USES DOS, Crt;

PROCEDURE Search;
VAR
  Err     : INTEGER;
  Attrib,
  CurrDir : STRING;
  DirInfo : SearchRec;

Begin
  FindFirst( '*.*', AnyFile, DirInfo );

  Err := 0;

  WHILE Err = 0 DO
  Begin
    { If the directory wasn't . or .., then find all files in it ... }
    IF ((DirInfo.Attr AND Directory) = Directory) AND
       (Pos( '.', DirInfo.Name ) = 0) THEN
    Begin
      {$I-}
      ChDir( DirInfo.Name );
      {$I+}

      { Find all files in subdirectory that was found }
      Search;
      DirInfo.Attr := 0;
    End
    ELSE
    Begin
      GetDir( 0, CurrDir );
      WriteLn( DirInfo.Name );
      FindNext( DirInfo );

      Err := DosError;
    End;
  End;

  {$I-}
  ChDir( '..' );
  {$I+}

  IF IOResult <> 0 THEN
    { Do Nothing...probably root directory... };
End;

VAR
  CurDir : STRING;

Begin
  ClrScr;
  GetDir( 0, CurDir );
  ChDir( 'C:\' );
  Search;
  ChDir( CurDir );
End.

[Back to DIRS SWAG index]  [Back to Main SWAG index]  [Original]