Directory.CreateDirectory не удалось найти часть пути c:\

Почему Directory.CreateDirectory создает исключение DirectoryNotFoundException при попытке создать следующий путь?

"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 уже существует.


person Klaus Nji    schedule 20.09.2014    source источник
comment
Вы имеете в виду DirectoryInfo.Create или Directory.CreateDirectory? Нет метода Directory.Create.   -  person Rune Grimstad    schedule 20.09.2014
comment
щелкните правой кнопкой мыши на рабочем столе и создайте новую папку ... можете ли вы дать ей имя «prn» ??   -  person AminM    schedule 20.09.2014
comment
Я имел в виду Directory.CreateDirectory. Спасибо за исправление.   -  person Klaus Nji    schedule 20.09.2014


Ответы (1)


Как говорит Скотт Чемберлен в комментарии, prn является одним из зарезервированных имен устройств и указывает на устройство печати в DOS.

Указанное имя устройства недопустимо

поэтому измените свой путь на другое имя и не используйте следующие зарезервированные имена для имени файла:

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

person AminM    schedule 20.09.2014
comment
com#, lpt#, aux, con и nul являются другими зарезервированные имена устройств. - person Scott Chamberlain; 20.09.2014
comment
Спасибо за ответ. Определенно не интуитивно понятно из сообщения об исключении. - person Klaus Nji; 20.09.2014