文件路径包含无效字符

文件路径包含无效字符

问题描述:

我创建了一个创建压缩备份的小程序。请参阅下面的编辑。文件路径包含无效字符

文件路径中有一个冒号,当我尝试运行它时,它会生成一个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(); 
    } 
} 

编辑:
一些更多的调试之后,我意识到filestrings正在双补写了SOEM原因。通过这个,我的意思是sourcePath已经获得值:
"C:\\Testing facility\\SampleDirectory"
ans备份路径发生了类似的事件。

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

+0

为什么'“)。”'? – Ofiris 2014-09-30 11:37:36

+0

要修复它,您需要共享您的代码以创建sourcePath和backupPath。 – prem 2014-09-30 12:20:41

试试这个它可能工作得很好,你

@ “C:\测试设备\ SampleDirectory”

+0

我无法做到这一点,因为文件路径是由文本框中的字符串填充的。 – Wolfish 2014-09-30 11:44:05

+0

doest该文本框包含除文件路径以外的东西,并且有多个路径或单个路径? – 2014-09-30 13:20:38

替换:

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

有:

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

删除")."

至于你编辑 - 你看\\因为\escaped

+1

+1,因为它还允许通过日期轻松对目录中的文件进行排序 – DavidG 2014-09-30 11:43:15

+0

完成,不会停止发生错误。 – Wolfish 2014-09-30 11:44:25

+0

哪条线发生错误? – Ofiris 2014-09-30 11:46:07