---
url: >-
  /statelake/scripting-reference/functions-and-procedures/file-functions/makeuniquefilename.md
---

# MakeUniqueFilename

**MakeUniqueFileName** checks to ensure the provided file name **aFilename** is unique.

If the name is not unique to one that already exists, it will add a number to the end of the filename portion, forcing it to be unique.

**Declaration**: Function MakeUniqueFilename(aFilename : string) : string

An example.

```pascal
procedure OnMapEvent(var Value:Variant);
begin
  Value := MakeUniqueFilename(Source.FileCon.CurrentFilename);
end;
```

Another example you can test.

```pascal
procedure ScriptEvent (var Value : variant);
var
  vFileName: string;
begin
  vFileName := 'C:\ProgramData\_Flow\Temp\Test_UniqueFileName.txt';
  LogInfo('Initial file name:' + vFileName);
  vFileName := MakeUniqueFilename(vFileName);
  LogInfo('Unique file name:' + vFileName);
  SaveToFile(vFileName, vFileName);
end;
```
