Filepath包含无效字符

时间:2014-09-30 11:35:52

标签: c# file-io filepath notsupportedexception

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

当我尝试运行文件路径时,文件路径中有冒号生成NotSupportedException
如果我有以下路径:
C:\Testing facility\SampleDirectory
有什么可以替换:以便我的程序将处理文件路径,但仍然找到正确的目录/文件?

this MSDN article中显示的示例对冒号或任何其他非法字符的任何问题一无所知,我做错了什么?

我的目录压缩代码如下:

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"
ans备份路径发生了类似的事件。

为什么会这样,我该怎么做才能解决它?

2 个答案:

答案 0 :(得分:1)

试试这可能对你有用

@“C:\ Testing facility \ SampleDirectory”

答案 1 :(得分:1)

替换:

DateTime.Now.ToString().Replace(':', '-')

使用:

DateTime.Now.ToString("yyyy-MM-dd-HH-mm")

删除")."

至于修改 - 您看到\\因为\escaped