web-development-kb-ko.site

Windows가 처리 할 수있는 가장 긴 파일 경로는 무엇입니까?

Windows가 처리 할 수있는 가장 긴 파일 경로는 무엇입니까?

57
Ron Tuffin

최대 경로 길이 (MSDN에서)

Windows API (다음 단락에서 설명하는 일부 예외)에서 경로의 최대 길이는 MAX_PATH이며, 이는 260 자 로 정의됩니다. 로컬 경로는 드라이브 문자, 콜론, 백 슬래시, 백 슬래시로 분리 된 구성 요소 및 종료 널 문자의 순서로 구성됩니다. 예를 들어, 드라이브 D의 최대 경로는 "D :\<일부 256 자 경로 문자열> <NUL>"입니다. 여기서 "<NUL>"은 현재 시스템 코드 페이지의 보이지 않는 종료 널 문자를 나타냅니다. (<> 문자는 시각적 선명도를 위해 사용되며 유효한 경로 문자열의 일부가 될 수 없습니다.)

49
Adam Matan

XP 파일 경로-250 자

Vista 파일 경로-260 자

Windows 새로 설치시 가장 긴 경로 XP는 152 자입니다.

Windows Vista를 완전 새로 설치 한 경우 가장 긴 경로는 195 자입니다.

Windows XP 최대 255 자 길이의 파일 이름 허용

Windows Vista에서는 최대 260자를 포함하는 더 긴 파일 이름을 허용합니다.

http://www.codinghorror.com/blog/archives/000729.html

15
joe

Windows 상수 MAX_PATH는 다른 답변에서 알 수 있듯이 260과 동일하지만 가장 긴 경로는 32767입니다.

여기 를 참조하십시오.

32k는 UNICODE를 사용하는 중이지만 이제는 사용해야하므로 최대 경로 길이도 사용해야합니다.

또한 최대 경로 길이에 대한 자세한 내용을 설명하는 SO의 답변 을 살펴볼 수 있습니다.

8
ST3

"classic" 한도는 260 문자 : drive letter + :\ + 255 characters of filename + \ (또는 반올림) + null terminator 다른 답변에서 언급했듯이

그러나 실제 내부 한계는 32767 문자이며 \\?\ - 정규화 된 경로

Windows API에는 최대 총 경로 길이 32,767 자에 대해 확장 길이 경로를 허용하는 유니 코드 버전이있는 많은 기능이 있습니다. 이 유형의 경로는 백 슬래시로 구분 된 구성 요소로 구성되며, 각각 lpMaximumComponentLength 함수의 GetVolumeInformation 매개 변수에 리턴 된 값 (이 값은 일반적으로 255 자임)입니다. 확장 길이 경로를 지정하려면 "\\?\" 접두사. 예를 들어, "\\?\D:\very long path".

어떤 이유로 완전한 경로를 사용할 수없는 경우 subst / diskpart를 사용하여 드라이브 문자에 마운트하여 더 깊은 디렉토리에 액세스 할 수 있습니다. 또는 junction / symlink 를 만들어 경로를 줄임

Windows 10부터 MAX_PATH 제한은 기본적으로는 아니지만 제거되었습니다.

Windows 10 버전 1607부터 MAX_PATH 제한 사항이 일반적인 Win32 파일 및 디렉토리 기능에서 제거되었습니다. 그러나 새 동작을 선택해야합니다.

https://docs.Microsoft.com/en-us/windows/desktop/FileIO/naming-a-file

2
phuclv