C# 文件路径包含无效字符

C# 文件路径包含无效字符,c#,file-io,filepath,notsupportedexception,C#,File Io,Filepath,Notsupportedexception,我创建了一个创建压缩备份的小程序。请参阅下面的编辑 文件路径中有一个冒号,当我尝试运行它时,它会生成一个NotSupportedException。 如果我有以下路径: C:\Testing facility\SampleDirectory 我可以用什么替换:,以便我的程序可以处理文件路径,但仍然可以找到正确的目录/文件 中显示的示例没有说明冒号或任何其他非法字符的任何问题,我是否做错了什么 我的目录压缩代码如下: private void CompressDirectory() { z

我创建了一个创建压缩备份的小程序。请参阅下面的编辑

文件路径中有一个冒号,当我尝试运行它时,它会生成一个
NotSupportedException

如果我有以下路径:
C:\Testing facility\SampleDirectory

我可以用什么替换
,以便我的程序可以处理文件路径,但仍然可以找到正确的目录/文件

中显示的示例没有说明冒号或任何其他非法字符的任何问题,我是否做错了什么

我的目录压缩代码如下:

private void CompressDirectory()
{
    zipPath = backupPath + DateTime.Now.ToString().Replace(':', '-') + ").";

    try
    {
        ZipFile.CreateFromDirectory(sourcePath, zipPath, CompressionLevel.Optimal, true);
        getresultmessage();
    }
    catch (IOException v)
    {
        errMsg = "Failed trying to start compression. \n" + v.ToString();
    }
}
编辑:
经过更多的调试,我意识到由于soem的原因,文件字符串被双重附加。我的意思是
sourcePath
已获得值:
“C:\\Testing facility\\SampleDirectory”

表示备份路径发生了类似事件


为什么会这样?我能做些什么来修复它?

试试这个,它可能对你很好

@“C:\Testing facility\SampleDirectory”替换:

DateTime.Now.ToString().Replace(“:”,“-”)

与:

DateTime.Now.ToString(“yyyy-MM-dd-HH-MM”)

删除“”。


至于你的编辑,你会看到
\
,因为
\

+1,因为它还允许按日期对目录中的文件进行轻松排序。我不能这样做,因为文件路径由文本框中的字符串填充。文本框是否包含文件路径以外的内容,是否有多个路径或单个路径?要修复此问题,您需要共享创建源路径和备份路径的代码。