Windows가 처리 할 수있는 가장 긴 파일 경로는 무엇입니까?
최대 경로 길이 (MSDN에서)
Windows API (다음 단락에서 설명하는 일부 예외)에서 경로의 최대 길이는 MAX_PATH이며, 이는 260 자 로 정의됩니다. 로컬 경로는 드라이브 문자, 콜론, 백 슬래시, 백 슬래시로 분리 된 구성 요소 및 종료 널 문자의 순서로 구성됩니다. 예를 들어, 드라이브 D의 최대 경로는 "D :\<일부 256 자 경로 문자열> <NUL>"입니다. 여기서 "<NUL>"은 현재 시스템 코드 페이지의 보이지 않는 종료 널 문자를 나타냅니다. (<> 문자는 시각적 선명도를 위해 사용되며 유효한 경로 문자열의 일부가 될 수 없습니다.)
XP 파일 경로-250 자
Vista 파일 경로-260 자
Windows 새로 설치시 가장 긴 경로 XP는 152 자입니다.
Windows Vista를 완전 새로 설치 한 경우 가장 긴 경로는 195 자입니다.
Windows XP 최대 255 자 길이의 파일 이름 허용
Windows Vista에서는 최대 260자를 포함하는 더 긴 파일 이름을 허용합니다.
"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