Creating file with unique name without attempting to do it with every file?

How about simply listing the files in the path using Directory.EnumerateFiles(String, String)

This way you can determine which filename is available before attempting to write the file.