fileName = fileName.Replace(":", "-")
Однако «:» - не единственный недопустимый символ для Windows. Вам также придется обрабатывать:
/, \, :, *, ?, ", <, > and |
Они содержатся в System.IO.Path.GetInvalidFileNameChars ();
Также (в Windows) "." не может быть единственным символом в имени файла (недопустимы оба символа ".", "..", "..." и т. д.). Будьте осторожны при именовании файлов с помощью «.», Например:
echo "test" > .test.
Создает файл с именем ".test"
Наконец, если вы действительно хотите сделать все правильно, есть несколько специальных имен файлов , на которые нужно обратить внимание. В Windows вы не можете создавать файлы с именем:
CON, PRN, AUX, CLOCK$, NUL
COM0, COM1, COM2, COM3, COM4, COM5, COM6, COM7, COM8, COM9
LPT0, LPT1, LPT2, LPT3, LPT4, LPT5, LPT6, LPT7, LPT8, and LPT9.