0

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

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

这篇 MSDN 文章中显示的示例没有说明冒号或任何其他非法字符的任何问题,我做错了什么吗?

我的目录压缩代码如下:

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();
    }
}

编辑:
经过更多调试,我意识到文件字符串由于某些原因被双重附加。通过这个,我的意思是sourcePath已经获得了价值:
"C:\\Testing facility\\SampleDirectory"
备份路径发生了类似的事件。

为什么会这样,我能做些什么来解决它?

4

2 回答 2

1

试试这个,它可能对你有用

@"C:\Testing facility\SampleDirectory"

于 2014-09-30T11:40:49.163 回答
1

代替:

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

和:

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

消除")."

至于您的Edit - You see \\because \is escaped

于 2014-09-30T11:40:54.777 回答