달달한 팁
달이 내려주는 달달한 팁, 실 생활 속 유용한 리뷰 및 각종팁을 전해 드립니다.
대상 폴더에 대한 파일 이름이 너무 깁니다. 윈도우 파일복사 오류: 파일명 길이 제한 해결 방법
안녕하세요. 달팁(DalTip) 입니다.
새 PC로 데이터를 옮기거나, 복잡한 폴더구조로 이루어진 프로젝트, 영상 소스 파일들을 외장하드에 백업해 본 적 있으신가요?
혹은 오랜 시간이 걸리는 대용량 복사작업 실행 후 다음 날 '다 끝났나?' 하고 돌아왔을 때 중간에 멈춰있는 화면을 보고 화가 났던적은요?
( 달팁은 자주 그랬답니다. 특히 소스 백업 중 패키지명이 길어서 ... 하하하 )
순조롭게 복사가 진행되던 중 뜬금없이 나타난 에러 창 하나에 좌절해본 경험이 있다면 오늘 달팁이 해결해 드릴까 합니다.
※ 본 포스팅에 사용된 삽화 이미지들은 독자의 이해를 돕기 위해 생성형 AI로 제작되었습니다.
▲ 마이크로소프X, 이럴 거야?!
파일 이름이 기껏해야 10글자 남짓인데 대체 왜 길다고 하는 걸까요?
파일 하나하나 찾아서 이름을 줄일 수도 없고, 폴더 구조를 다 분석할 수도 없는 노릇입니다.
(아래의 스크린 샷을 찍기 위해 일부러 오류를 발생시킨 달팁 입니다.)
▲ 복사가 끝났나? 하고 왔더니 멈춰있다!!!
오늘은 윈도우 시스템에서 발생하는 파일명 길이 제한 오류의 근본적인 기술적 원인과, 단 10초 만에 해결하는 레지스트리 세팅법을 공유해 볼까 합니다.
📌 1. 원인: Win32 API의 'MAX_PATH'와 하위 호환성 문제
이 오류는 단일 파일의 이름이 길어서 뜨는 에러가 아닙니다.
진짜 원인은 전체 경로 길이의 합에 있으며, 그 배경에는 윈도우 OS의 깊은 딜레마가 숨어 있습니다.
▲ 윈도우 코어 헤더파일(windef.h)에 수십 년째 하드코딩 되어있는 260자 제한
🔴 하드코딩된 상수: MAX_PATH 260
Windows API의 핵심 헤더 파일(windef.h)을 뜯어보면 #define MAX_PATH 260 이라는 상수가 수십 년째 박혀 있습니다.
드라이브 문자열(C:\ 3바이트) + 파일 경로(256바이트) + 끝을 알리는 널 종료 문자(NULL 1바이트)를 합친 규격입니다. 전체 경로가 이 260자를 초과하면 시스템은 이를 파일로 인식하지 않고 뱉어냅니다.
🔴 마이크로소프트는 왜 이 버그를 방치했을까?
가장 큰 이유는 '하위 호환성(Backward Compatibility)' 때문입니다.
수많은 기존 윈도우 응용 프로그램들이 코드 내부에 char buffer[MAX_PATH]; 형태로 260자에 맞춰 정적 메모리(배열)를 할당해 두었습니다. 만약 MS가 OS 단에서 경로 허용 길이를 갑자기 늘려버리면, 기존 레거시 시스템에서 버퍼 오버플로우(Buffer Overflow)가 발생해 시스템이 강제 종료되거나 뻗어버리는 대참사가 일어납니다.
결국 MS는 Windows 10 (버전 1607)에 이르러서야 기존 앱들을 보호하기 위해, 기본값은 260자로 유지하되 사용자가 레지스트리를 통해 수동으로 켰을 때(Opt-in)만 최대 32,767자까지 지원하도록 슬쩍 타협안을 내놓은 것입니다.
💡 2. 레지스트리 수정으로 제한 해제
이 제한은 윈도우 기본 설정 메뉴에서는 풀 수 없고 레지스트리를 건드려야 합니다.
컴퓨터를 잘 모르시더라도 메모장 하나만 켜서 아래 순서대로 따라 하시면 10초 만에 끝납니다.
- 바탕화면 빈 곳에서 마우스 우클릭 ➡️ [새로 만들기] ➡️ [텍스트 문서]를 엽니다.
- 아래의 레지스트리 코드를 그대로 복사해서 메모장에 붙여넣습니다.
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem]
"LongPathsEnabled"=dword:00000001
- 메모장 왼쪽 위 [파일] ➡️ [다른 이름으로 저장]을 클릭합니다.
- 파일 형식(T)을 '텍스트 문서'에서 '모든 파일(*.*)'로 변경합니다.
- 파일 이름을 긴경로해제.reg 로 입력하고 바탕화면에 저장합니다.
- 생성된 파일을 더블클릭하고 '예(Y)'를 누른 뒤, PC를 재부팅하면 모든 제한이 해제됩니다!
🏁 마치며: 달팁과 함께 건강한 컴퓨팅 생활
언제나 건강한 컴퓨팅 생활을 위해, 꾸준히 좋은 팁들을 많이 쏟아낼 수 있도록 여러분의 많은 관심과 응원 부탁 드립니다.
이상, 달팁이었습니다.
댓글