Home » Tipps & Tricks » Dateien/Verzeichnisse » Dateieigenschaften » Eindeutigen Dateinamen erstellen

Eindeutigen Dateinamen erstellen

Will man eine Datei speichern, ohne dabei eine bereits bestehende Datei zu überschreiben, so liefert der folgende Code einen Dateinamen, den es so noch nicht gibt. Besteht der ursprüngliche Name schon, so wird mit -1 bzw. -2 usw. ein eindeutiger Name erstellt.

function GenerateUniqueFileName(FileName: string): string;
var count: integer;
begin
  if not FileExists(FileName) then
  begin
    result := FileName;
    exit;
  end;
  count:=1;
  while FileExists(ChangeFileExt(FileName, '')+'-'+IntToStr(count)+
  ExtractFileExt(FileName)) do
    Inc(Count);
  result := ChangeFileExt(FileName,'')+'-'+IntToStr(count)+ExtractFileExt(FileName);
end;