Windows에서 최대 파일 경로 길이 제한 극복 이름 (긴 이름을 가진 여러 개의 중첩

고객 중 한 명이 습관적으로 매우 긴 경로 이름 (긴 이름을 가진 여러 개의 중첩 된 폴더)을 사용하며 경로를 260 자 미만으로 줄이기 위해 “사용자 교육 문제”가 발생합니다.

사용 가능한 기술 솔루션이 있습니까? Windows 7 및 Windows 2008 R2에서 일종의 스위치를 사용하여 “이 역사적 문제를 무시하고 +260 문자 경로 이름을 작동 시키십시오”라고 말할 수 있습니까?

추신 : 나는 파일, 경로 및 네임 스페이스 이름 지정 으로 읽고 완전히 수정하지 않았습니다.



답변

방법이 있지만 Microsoft가 파일 브라우저 위젯을 다시 코딩 할 때까지 우리는 그 오래된 문제에 거의 빠져 있습니다. 차선책이지만 그것이 작동하는 방식입니다.


답변

아직 여기에 언급되지 않은 트릭을 언급하는 것입니다.

이 파일을 예로 들어 보겠습니다.

C:\Folder1\Really Long Path\Such Recursion\So Deep\Wow\Still Going\I will run out of ideas soon\I have organizational problems\Obsessive compulsive subdirectory disorder\Here is a guid for no good reason\936DA01F-9ABD-4d9d-80C7-02AF85C822A8\Almost there\Tax Returns\2013\2013_tax_return.pdf

이 전체 파일 경로는 290 자입니다. 셸 (Windows 탐색기)과 대부분의 명령 줄 유틸리티는 아마이를 만지지 못할 것입니다.

다음 subst과 같이 명령을 사용하십시오 .

subst X: "C:\Folder1\Really Long Path\Such Recursion\So Deep\Wow"

이제 파일에 액세스 (및 삭제, 이동 등) 할 수 있습니다.

X:\Still Going\I will run out of ideas soon\I have organizational problems\Obsessive compulsive subdirectory disorder\Here is a guid for no good reason\936DA01F-9ABD-4d9d-80C7-02AF85C822A8\Almost there\Tax Returns\2013\2013_tax_return.pdf

이제 파일 이름은 ~ 235 자 정도이므로 “파일 이름이 너무 깁니다”문제가 더 이상 발생하지 않습니다.

Windows API에는로 알려진 악명 높은 상수가 있습니다 MAX_PATH. MAX_PATH는 260 자입니다. NTFS 파일 시스템은 실제로 최대 32,767 자의 파일 경로를 지원합니다. 또한 Windows API 함수의 유니 코드 (또는 “와이드”) 버전에 액세스하고 경로 접두어를 사용하여 32,767 자의 긴 경로 이름을 계속 사용할 수 있습니다 \\?\.

MAX_PATH아주 오래 전에 Windows 세계 에서 돌로 설정되었습니다 . 나는 당시 ANSI 표준과 관련이 있다고 생각하지만 … 지금 Microsoft가 작성한 일부 프로그램을 포함하여 수천 개의 프로그램과 응용 프로그램이 있기 때문에 Microsoft가 지금 변경하기가 매우 어려운 것 중 하나입니다. MAX_PATH상수가 갑자기 변경되면 이상한 새로운 방식으로 실패합니다. (버퍼 오버 플로우, 힙 손상 등)


답변

\\? \ C : 표기법을 사용하여이 제한을 해결할 수 있습니다. 추악하지만 최대 2 ^ 15의 파일 길이를 지원합니다.

http://msdn.microsoft.com/en-us/library/aa365247(v=vs.85).aspx#maxpath


답변

Microsoft는 이제 Windows 10부터는 파일, 경로 및 네임 스페이스 MSDN 이름 지정 기사 에서 설명하는이 수정 프로그램을 사용할 수 있습니다 .

darthcoder는 이미 \\?\C:표기법 해결 방법 에 대한 세부 정보로 답변 했지만 이제 HKLM\SYSTEM\CurrentControlSet\Control\FileSystem LongPathsEnabled (Type: REG_DWORD)단일 시스템에 대한 MAX_PATH 제한을 제거하는 데 사용할 수 있는 레지스트리 키 가 있습니다. 이 기사는 또한 Computer Configuration > Administrative Templates > System > Filesystem > Enable NTFS long paths필요한 경우 조직 또는 그룹 차원의 구현을 위한 그룹 정책 제어에 대한 지원을 언급 합니다.