Directory.CreateDirectory找不到路径的一部分c:\

问题描述:

为什么Directory.CreateDirectory在尝试创建以下路径时会抛出DirectoryNotFoundException?Directory.CreateDirectory找不到路径的一部分c:

"c:\\temp\\aips\\data\\prn" 

带有指示它的消息could not find a part of the path "c:\"

但是,如果通过以下路径"c:\\temp\\aips\\data\\power",它会成功返回。

直接从Visual Studio调试器复制路径,因此使用反斜杠分隔符。

在我的系统上,文件夹c:\temp\aips\data已经存在。

+2

你的意思DirectoryInfo.Create或Directory.CreateDirectory?没有Directory.Create方法。 – 2014-09-20 17:11:43

+3

在桌面上右键单击并创建新文件夹...你可以给它'prn'的名字? – AminM 2014-09-20 17:15:02

+0

我的意思是Directory.CreateDirectory。感谢您的更正。 – 2014-09-20 17:26:57

由于Scott Chamberlain在评论中说prn是其中一个保留的设备名称,它指向DOS中的print device

The specified device name is invalid

因此改变你的路径,另一名不为文件名使用保留名称如下:

CON,PRN,AUX,NUL,COM1,COM2, COM3,COM4,COM5,COM6,COM7,COM8,COM9,LPT1,LPT2,LPT3,LPT4,LPT5,LPT6,LPT7,LPT8和LPT9

+3

com#','lpt#','aux','con'和'nul'是其他[保留的设备名称](http://msdn.microsoft.com/zh-cn/library/windows/desktop /aa365247(v=vs.85).aspx#naming_conventions)。 – 2014-09-20 17:21:26

+3

感谢您的回复。绝对不直观的异常信息。 – 2014-09-20 17:28:51

+0

@KlausNji当然可以! – AminM 2014-09-20 17:29:35