Ну, а ты уверен, что DateToStr тебе вернет дату с разделителем точка?
Далее. В 17 строке ошибка - нет такой коменды. Есть просто Append(F). И после нее надо отдельный wriletn. Соответсенно, делаем вывод, что ты этот код не компилил и не запускал, он просто не скомпилится...
В третьих, в этом коде логическая ошибка. Что будет при переходе через год? Последний файл года будет оставаться всегда.
В четвертых, подобный код будет работать не везде. Если программа будет установлена в Program Files, то туда запись по умолчанию запрещена (можно в манифесте попросить права администратора, но тогда винда будет каждый раз при запуске спрашивать разрешение). Писать надо в разрешенное место.
Пятое. Запуск консольного приложения из под графического - по большей части это лотерея - заработает или нет. Лучше написать свой код, который поищет файлы и удалит их. FindFirst/FindNext/FindClose/DeleteFile тебе помогут.
Шестое. Создавать файл, состоящий только из даты - не самая хорошая идея. Лучше следовать шаблону [назначение_файла/имя_программы/имя_пользователя].[дата_YYYY-MM-DD].[тип_файла/расширение]
Ну вот как-то так.
ЗЫ. По поводу получения пути для создания файлов программой, есть вот такая статейка:
http://delphiprogrammingdiary.blogsp...rectories.html
Тебя, видимо, интересует CSIDL_APPDATA.