我创建了一个创建压缩备份的小程序。请参阅下面的编辑。
当我尝试运行文件路径时,文件路径中有冒号生成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备份路径发生了类似的事件。
为什么会这样,我该怎么做才能解决它?
答案 0 :(得分:1)
试试这可能对你有用
@“C:\ Testing facility \ SampleDirectory”
答案 1 :(得分:1)
替换:
DateTime.Now.ToString().Replace(':', '-')
使用:
DateTime.Now.ToString("yyyy-MM-dd-HH-mm")
删除")."
至于修改 - 您看到\\
因为\
是escaped。