[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]