Если вам нужно, чтобы новое имя файла напоминало старое, вы можете использовать это решение:
string oldFileName = @"c:\old\oldfile.txt";
string newFileName = oldFileName.Substring(0, oldFileName.LastIndexOf('.')) + "-";
string oldFileNameExtension = oldFileName.Substring( oldFileName.LastIndexOf('.')+1 );
File.Move(oldFileName, newFileName + DateTime.Now.Ticks.ToString() + oldFileNameExtension);
DateTime.Ticks - целое число типа Long, которое содержит текущую дату, преобразованную в наносекунды. Осторожно: большинство процессоров могут выполнять множество операций до того, как счетчик тиков будет продвинут.
Если вы делаете много файлов одновременно, вам нужно будет добавить цикл while(File.Exists())
с Thread.Sleep(10);
в нем. Или, если вы не хотите замедлять его с помощью Thread.Sleep, вы можете добавить счетчик в цикл и добавить его в конец newFileName.