Windows PC에서 예전 백업 파일과 폴더를 정리하던 중, 더 이상 필요 없는 압축 백업 파일(.tar)을 발견하고 삭제하려고 했습니다. 그런데 삭제를 시도하는 순간 다음과 같은 오류 메시지가 나타났습니다.
"파일 이름이 대상 폴더에 비해 너무 깁니다(The file name(s) would be too long for the destination folder)"

알고 보니 이 압축 파일 안에는 JPG 이미지 파일이 포함되어 있었고, Windows가 해당 파일을 삭제하지 못했던 것입니다. '건너뛰기(Skip)' 옵션을 사용해 이 파일을 제외한 나머지는 모두 삭제할 수 있었습니다. 그렇다면 왜 이런 현상이 발생한 걸까요?
원인: Windows의 최대 경로 길이 제한
표준 Windows 파일 명명 규칙에서는 전체 경로(폴더 경로 + 파일 이름 + 확장자를 모두 합한 값)가 259자를 초과할 수 없습니다. 이 한도를 넘으면 파일을 삭제하거나 조작하려 할 때 위와 같은 오류가 발생합니다.
최대 경로 길이 제한(Maximum Path Length Limitation): MSDN에 따르면, Windows API에서 경로의 최대 길이는 MAX_PATH로 정의되며 260자입니다. 로컬 경로는 드라이브 문자, 콜론, 백슬래시, 백슬래시로 구분된 이름 구성 요소, 그리고 마지막에 보이지 않는 null 종료 문자 순으로 구성됩니다. 예를 들어 D 드라이브의 최대 경로는 "D:\256자 경로 문자열
" 형태입니다.
참고로 Windows에서는 레지스트리나 그룹 정책을 통해 Win32 긴 경로(Long Paths) 기능을 활성화하면 이러한 제한을 일부 우회할 수 있습니다.
실제 사례와 해결 과정
제 경우 전체 폴더 경로는 다음과 같았습니다.
D:\Site Backups\Misc\backup-4.7.2012_23-41-31_thegadget.tar\backup-4.7.2012_23-41-31_thegadget\backup-4.7.2012_23-41-31_thegadget\homedirect\2\public_html2\wp-content2\uploads\2011\08
여기에 파일 이름 자체도 Music-producer-…-and-video-games.jpg처럼 매우 길었습니다.
먼저 파일 위치로 이동해 삭제 또는 이름 바꾸기를 시도했지만, 애초에 해당 옵션이 나타나지 않았습니다. 상위 폴더로 돌아가 하위 폴더 단위로 삭제를 시도해도 같은 오류 메시지만 반복될 뿐이었습니다.

그래서 마지막으로 '다음 위치로 이동(Move To folder)' 기능을 사용해 해당 폴더를 D 드라이브 루트로 옮겼습니다. 결과는 성공! 경로가 갑자기 훨씬 짧아졌기 때문에 문제없이 삭제할 수 있었습니다.
이 간단한 방법은 저에게 효과가 있었으며, 비슷한 문제를 겪는 분들께도 도움이 되기를 바랍니다.
그 외 시도해 볼 수 있는 방법
위 방법으로 해결되지 않는다면 다음 방법들도 고려해 볼 수 있습니다.
- PC 재부팅 후 다시 삭제 시도: 파일이 다른 프로세스에 의해 잠겨 있는 경우 효과적입니다.
- Check Disk(chkdsk) 실행: 파일 시스템 오류로 인한 문제를 점검하고 복구합니다.
- 서드파티 삭제 유틸리티 사용: Unlocker, Long Path Fixer 같은 무료 프로그램이 도움이 됩니다. 특히 Long Path Fixer는 '경로가 너무 깁니다(Path Too Long)' 오류를 해결하는 데 유용합니다.
- CMD 및 Robocopy 활용: Microsoft 커뮤니티 스레드에는 Robocopy의 빈 폴더 미러링 기능을 이용해 긴 경로의 파일을 강제로 정리하는 고급 방법이 소개되어 있습니다.
관련 읽기: 원본 파일 이름이 파일 시스템에서 지원하는 크기보다 큽니다 오류 해결하기
