Доброго времени суток. Есть код, согласно которому создается свежий файл с текущей датой в названии. Он прекрасно работает. 
Но..перед созданием нужно проверить, есть ли вчерашний (позавчерашний, месячной давности и т.п.) файл и, если есть, удалить его. Пробую так, но не получается: удаляет и свежесозданный файл тоже. 
	Код:
	var
  TD: TDateTime;
  F: textFile; 
begin
 TD:= Now;
  if  not FileExists(DateToStr(TD)) = true then //Проверка на присутствие имени с датой
    begin                                                 //если нет, то создать
      WinExec(Pchar('cmd /c del *.2019'), 1); // Сначала удалить файл с расширением *.2019
      //ShellExecute(0, 'open', 'cmd.exe', '/c del *.2019', nil, SW_HIDE);    
      AssignFile(F, datetostr(TD));  // Затем создать новый
      rewrite(F);
      writeln (F, 'Test');
      CloseFile(F);
    end
        else  begin                                     //Если есть, то дописать и ничего не удалять.
       AssignFile(F, datetostr(TD));
       Append(F, 'Test');
       CloseFile(F);
  end;  
 
Как реализовать задумку?