2014-09-20 5 views
9

다음 경로를 만들려고 할 때 Directory.CreateDirectory가 DirectoryNotFoundException을 throw하는 이유는 무엇입니까?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 메서드는 없습니다. –

+3

바탕 화면을 마우스 오른쪽 버튼으로 클릭하고 새 폴더를 만듭니다 ... 이름을 'prn'으로 지정할 수 있습니까 ?? – AminM

+0

나는 Directory.CreateDirectory를 의미했다. 수정 해줘서 고마워. –

답변

22

Scott Chamberlain은 주석에서 prn은 예약 된 장치 이름 중 하나이며 DOS에서는 print device을 가리 킵니다. ,

CON, PRN, AUX, NUL, COM1, COM2 :

The specified device name is invalid

그래서 다른 이름으로 경로를 변경하고 파일의 이름에 대해 다음 예약 된 이름을 사용하지 마십시오 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/en-us/library/windows/desktop). /aa365247(v=vs.85).aspx#naming_conventions). –

+3

응답 해 주셔서 감사합니다. 확실히 예외 메시지에서 직관적이지 않습니다. –

+0

@KlausNji 물론 가능합니다! – AminM