[Back to DIRS SWAG index] [Back to Main SWAG index] [Original]
{
> 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.
[Back to DIRS SWAG index] [Back to Main SWAG index] [Original]