第二个路径片段不能是驱动器或UNC名称 – 创建子目录错误

我在这段代码的第三行有一个例外“第二个路径片段不能是驱动器或UNC名称”

DirectoryInfo labdi = new DirectoryInfo(Back.mainfolderpath + @"\news\l"); DirectoryInfo tld = new DirectoryInfo(labdi.FullName + @"\" + NorA.sn.labl[i]); tld = labdi.CreateSubdirectory(labdi.FullName + @"\" + NorA.sn.labl[i] + @"\"); 

网上没有任何有用的方法。 谢谢。:!

我今天遇到了这个,最后跟踪了它。

例外情况是试图告诉您,当DirectoryInfo将路径作为参数(例如,CreateSubdirectory或GetFiles)时,如果path参数包含Root并且抛出这个难以捉摸的exception,它将反对。

所以包含“C:\”或“D:\”等的路径参数不起作用。 有了这个上下文,exception消息实际上有点意义。

在您的代码中,您使用的是FullName属性,此字符串包含“C:\”或根目录。

鉴于问题的年龄,我应该添加c#,.NET 4.5,VS2013。

解决此问题的最简单方法是使用Directory和File方法的静态版本。 您不必以这种方式删除root。 您也不需要DirectoryInfo或FileInfo对象,它们让您头疼

 string someFile = @"C:\somefolder\somefile.txt"; string directory = Path.GetDirectoryName(someFile); foreach(var file in Directory.GetFiles(directory)) { File.Delete(file); }