home *** CD-ROM | disk | FTP | other *** search
- {
- > Can any one tell me a way to make pascal (TP 6.0) search a Complete
- > drive, including all subdirectories, even ones that are not in the
- > path, looking For a specific File extension? I.E., having the Program
- > search For *.doC and saving that to a Text File?
-
- Ok, here goes nothing.
- }
-
- {$M 65000 0 655360}
- {Assign enough stack space For recursion}
-
- Program FindAllFiles;
-
- Uses Dos;
-
- Var
- FileName : Text;
-
- Procedure ScanDir(path : PathStr);
-
- Var
- SearchFile : SearchRec;
- begin
- if Path[Length(Path)] <> '\' then
- Path := Path + '\';
- FindFirst(Path + '*.*', $37, SearchFile); { Find Files and Directories }
- While DosError = 0 do { While There are more Files }
- begin
- if ((SearchFile.Attr and $10) = $10) and (SearchFile.Name[1] <> '.') then
- ScanDir(Path + SearchFile.Name)
- { Found a directory Make sure it's not . or .. Scan this dir also }
- else
- if Pos('.doC',SearchFile.Name)>0 then
- Writeln(FileName, Path + SearchFile.Name);
- { if the .doC appears in the File name, Write path to File. }
- FindNext(SearchFile);
- end;
- end;
-
- begin
- Assign(FileName,'doCS'); { File to contain list of .doCs }
- ReWrite(FileName);
- ScanDir('C:\'); { Drive to scan. }
- Close(FileName);
- end.