program mazani_souboru;

uses crt, dos;

var f : file;
    sr : searchrec;
    maska : string;
    odpoved : char;
    nabizeno, smazano : integer;
    uvolneno : longint;

begin
  clrscr;
  writeln('Tento program rusi dane soubory z adresare.');
  if (ParamCount = 0) then
  begin
    write('Zadej masku jmen souboru pro smazani (napr.: *.bak) : ');
    readln(maska);
  end
  else maska := ParamStr(1);
  if (maska = '') then Halt;
  nabizeno := 0;
  smazano := 0;
  uvolneno := 0;
  FindFirst(maska,archive,sr);
  while (DosError = 0) do
  begin
    inc(nabizeno);
    write('Soubor ',sr.name:12,' smazat [A/N] ?   ');
    odpoved := upcase(readkey);
    if odpoved = 'A' then
    begin
      assign(f,sr.name);
      erase(f);
      if (doserror = 0) then
      begin
        inc(smazano);
        inc(uvolneno,sr.size);
        writeln('      smazan. ');
      end
      else writeln(' ***   chyba pri mazani   *** ');
    end
    else writeln('      nesmazan. ');
    FindNext(sr);
  end;
  if (nabizeno = 0) then writeln('Nebyl nalezen soubor vyhovujici masce ',maska)
  else begin
    writeln;
    writeln('Pocet souboru vyhovujici masce   : ',nabizeno);
    writeln('Pocet skutecne zrusenych souboru : ',smazano);
    writeln('Uvolneny prostor v Bytech        : ',uvolneno);
  end;
  writeln;
  writeln('Stiskni ENTER ...');
  readln;
end.