fileName = fileName.Replace(":", "-")
Allerdings ist ":" nicht das einzige unzulässige Zeichen für Windows. Sie müssen auch behandeln:
/, \, :, *, ?, ", <, > and |
Diese in System.IO.Path.GetInvalidFileNameChars enthalten sind();
Auch (unter Windows), "." kann nicht das einzige Zeichen im Dateinamen sein (sowohl ".", "..", "...", usw. sind ungültig). Seien Sie vorsichtig beim Benennen von Dateien mit, zum Beispiel „‚:
echo "test" > .test.
eine Datei erzeugen namens‘.test“
Schließlich, wenn Sie wirklich wollen die Dinge richtig zu tun, gibt es einige special file names Sie müssen aufpassen. Unter Windows können Sie keine Dateien mit dem Namen erstellen:
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.
Ich habe diese gleiche Sache heute. Ich habe SO aus irgendeinem Grund nicht überprüft, aber trotzdem die Antwort gefunden. –