2014-09-20 166 views
9

爲什麼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

回答

22

由於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

相關問題