I had a need to do a quick-n-dirty export of a directory of files into a raw  HTML table output.
The idea is that you have a header file and a footer. You run this to create  the body, then bring it all together via COPY HEADER.HTM + MAKEHTML.HTM +  FOOTER.HTM SOMESITE.HTM
If Files.bbs exists in the directory, it will read it for one-liner  descriptions.
If the file MAKEHTML.--- exists, it will instead read the contents of this  file for generating the table. This is so you can sort the results, ie. DIR 
/B /O:-D DB\FILEECHO\NODEDIFF > MAKEHTML.---
The results can be seen at 
https://fido-z1.darkrealms.ca
Enjoy...
program makehtml;
uses sysutils,dos;
var p,w : string;
dirinfo : SearchRec;
ft : tdatetime;
h,t,t2 : text;
const df = 'mm"/"dd"/"yyyy';
procedure make_html(what : string ; ts : longint);
var d,ds : string;
begin
 d:='';
 assign(t,p+'files.bbs');
 (*$I-*) reset(t);
 if ioresult=0 then
  begin
   while not eof(t) and (d='') do
    begin
     readln(t,w);
     if (pos(uppercase(what),w)>0) then d:=copy(w,length(what)+2,length(w));
    end;
   close(t);
  end;
 if (uppercase(paramstr(4))<>'N') and (uppercase(what)<>'FILES.BBS')  then
  begin
   ft:=FileDateToDateTime(ts);ds:=FormatDateTime(df,ft);
   writeln(h,'<tr><td><a  href='+paramstr(3)+what+'>'+what+'</a></td><td>'+ds+'</td><td>'+d+'</td></tr>' );
   writeln('Adding '+what+' '+ds+' '+d);
  end;
end;
begin
  writeln('MakeHTML 1.0/Win32 Copyright (c) by Nick J. Andre, Ltd.');
  writeln;
  if (paramstr(1)>'') and (paramstr(2)>'') and (paramstr(3)>'') then
   begin
    p:=paramstr(2);if p[length(p)]<>'\' then p:=p+'\';
    assign(h,paramstr(1));
    (*$I-*) rewrite(h);
    writeln(h,'<th>File</th><th>Date</th><th>Description</th>');
    assign(t2,'makehtml.---');
    (*$I-*) reset(t2);
    if ioresult=0 then
     begin
      while not eof(t2) do
       begin
        readln(t2,w);
        findfirst(p+w,archive,dirinfo);
        if DOSerror=0 then make_html(dirinfo.name,dirinfo.time);
        findclose(dirinfo);
       end;
      close(t2);
     end
     else
     begin
      findfirst(p+'*.*',archive,dirinfo);
      if DOSerror=0 then make_html(dirinfo.name,dirinfo.time);
      while (DOSerror=0) do
       begin
        findnext(dirinfo);
        make_html(dirinfo.name,dirinfo.time);
       end;
      findclose(dirinfo);
     end;
    writeln(h,'</table>');close(h);
   end
   else
   begin
    writeln('Usage: MAKEHTML [Html table file] [Path] [Base] [BBS]');writeln;
    writeln('MAKEHTML creates an HTML table from files in Path using Base.');
    writeln('Optional BBS means include listing files.bbs, [Y]es or [N]o.');
   end;
end.
Nick
--- Renegade vY2Ka2
 * Origin: Joey, do you like movies about gladiators? (1:229/426)