> From: Rick Duley <[log in to unmask]>
> I am currently working on some language analysis software (both
> natural language and code) for use in my doctoral research. It
> would be ideal if I could set an application up to work its way
> through all the files in a folder automatically - that is, set it to
> work on a folder full of files and it will automatically process
> each of the files in the folder in succession.
>
> Does anyone have any idea of how this can be done?
This is a recursive directory search using GNAT.Directory_Operations:
procedure Scan_Directory (Named : Dir_Name_Str) is
Wd : Dir_Type;
begin
Open (Dir => Wd,
Dir_Name => Named);
declare
Str : String (1 .. 1024);
Last : Natural;
begin
loop
Read (Dir => Wd,
Str => Str,
Last => Last);
exit when Last = 0;
if Str (1 .. Last) /= "." and Str (1 .. Last) /= ".." then
if Is_Directory (Named & Str (1 .. Last)) then
Scan_Directory
(Named & Str (1 .. Last) & Directory_Separator);
else
Save_File (Named & Str (1 .. Last));
end if;
end if;
end loop;
end;
Close (Dir => Wd);
end Scan_Directory;
Save_File is the place where the work gets done.
Not so sure about the 1024!