당신은 절망적으로 파일을 이동하거나 삭제하려고 노력했는데, “대상 경로가 너무 길다”는 짜증나는 오류 메시지를 마주하게 되었습니까? 이 유명한 오류는 생각보다 흔한데, 가장 간단한 파일 관리 작업조차도 디지털 미로로 변하게 만듭니다.
하지만 걱정하지 마세요! 이 자습서에서는 “대상 경로가 너무 길다” 문제를 해결하기 위한 전투에서 검증된 전략을 배우게 될 것입니다.
자, 이제 컴퓨터가 당신에게 어렵다는 느낌을 받기 싫다면, 이 귀찮은 Windows 오류 메시지를 제거하기 위해 계속해서 읽어보세요!
전제 조건
“대상 경로가 너무 길다” 오류를 해결하기 전에, 다음과 같은 장비를 갖추고 있는지 확인하세요:
- A Windows computer – This tutorial uses Windows 10 for demonstrations.
- PowerShell 5.1 이상 – 이 자습서에서는 PowerShell 7.4.0을 사용합니다.
- 관리자 권한.
- 7-zip 설치 – 이 자습서에서는 7-zip 23.01을 사용합니다. 이 기사 작성 시점에서 최신 버전입니다.
“대상 경로가 너무 길다” 오류 해제하기
이 암호화된 메시지 “대상 경로가 너무 깁니다”는 아래와 같이 종종 Windows 파일 시스템에 깊게 뿌리를 내린 역사적인 제약인 MAX_PATH 제한에서 발생합니다. MAX_PATH 제한은 260자로 설정되어 있으며, 깊게 중첩된 디렉터리, 복잡한 폴더 구조 및 긴 파일 이름을 다루는 사용자들에게 오랫동안 도전이었습니다.

이 자습서를 통해 MAX_PATH 제한의 복잡성을 해결하고 이 제한을 극복하기 위한 실용적인 전략을 알아보겠습니다.
상위 폴더의 이름을 변경하여 파일 경로 길이 줄이기
컴퓨터가 갑자기 내부의 셰익스피어를 채널링하며 “이동할 것인가, 아닌가, 그것이 문제로다”라고 선언한다면 어떨까요? 하지만 정말로, 이 Windows 문제에 대해 머리를 쥐어짜고 있다면 기본적인 해결책 중 하나는 상위 폴더의 이름을 변경하는 것입니다.
긴 이름의 폴더(중요한 파일이 포함되어 있는)를 다른 위치로 이동하거나 복사하려고 할 때, 상위 폴더의 이름을 변경하면 “대상 경로가 너무 깁니다” 오류를 피할 수 있습니다.
파일 경로 길이를 줄이는 방법을 확인하려면 다음 단계를 따르세요.
1. 다음과 같이 폴더 이름이 임의의 문자와 숫자로 이루어진 폴더를 찾으세요.
이 암호화된 메시지의 주요 원인 중 하나는 Windows OS에서 부과된 MAX_PATH 제한 (260 자)입니다. 이 제한은 다양한 응용 프로그램과 시스템 간의 호환성을 유지하기 위해 존재합니다.

2. 폴더 이름을 더 짧은 이름으로 변경하십시오 (예: 백업-01).

3. 이제 변경한 폴더를 원하는 위치로 복사하거나 이동하여 “대상이 너무 길어” 오류가 발생하는지 확인하십시오.

7-zip을 사용하여 긴 파일 경로에서 파일 작업 수행하기
폴더 또는 파일 이름을 변경하는 것이 중요하지 않은 경우, “대상 경로가 너무 길어” 오류를 우회하는 빠른 해결책은 이름을 변경하는 것입니다.
그러나 기존 이름을 보존하는 것이 중요한 경우, 오류를 발생시키지 않고도 실용적인 접근 방식이 있는지 알아볼 수 있을까요? 그렇습니다. 강력한 파일 압축 및 아카이빙 도구인 7-zip을 활용하여 가능합니다.
7-zip을 사용하여 긴 파일 경로에서 파일 작업을 수행하려면 아래 단계를 완료하십시오:
1. 시작 메뉴나 데스크톱 바로 가기에서 7-zip 파일 관리자를 실행합니다.
2. 다음으로 대상 파일 또는 폴더를 찾아 마우스 오른쪽 버튼을 클릭하고 컨텍스트 메뉴에서 파일 작업을 선택합니다. 그러나 이 예제에서는 파일을 다른 위치로 복사합니다 (복사).
텍스트 파일의 파일 경로가 극도로 긴 것을 확인하세요.

3. 대화 상자에서 파일의 대상 위치를 찾아 확인을 클릭하여 파일을 복사합니다.
7-zip은 Win32API 제한에 대한 최대 경로 길이를 무시하여 파일 및 디렉토리에서 파일 작업을 수행할 수 있습니다.

4. 마지막으로 대상 위치로 이동하여 복사한 파일이 있는지 확인합니다.
이 결과로 7-zip을 통해 MAX_PATH 제한을 우회하여 파일을 성공적으로 복사한 것을 확인할 수 있습니다.

Windows에서 Win32 긴 경로 지원 활성화하기
아마도 긴 파일 경로를 처리할 때 7-zip과 같은 타사 도구에 의존하는 대신 Windows 기반 솔루션을 사용하고 싶을 수 있습니다. 이 경우 Windows에서 Win32 긴 경로 지원을 활성화하면 악명 높은 “대상 경로가 너무 깁니다” 오류를 극복할 수 있는 기본 및 통합된 방법이 제공됩니다.
Win32 긴 경로 지원을 잠금 해제함으로써 Windows 시스템이 외부 응용 프로그램을 필요로하지 않고도 긴 파일 경로를 우아하게 처리할 수 있습니다. 이 기능은 원하는 경우 네이티브 Windows 기능과 일치하는 맞춤형 솔루션을 제공합니다.
계속해서 Win32 긴 경로 지원을 활성화하는 다양한 방법을 읽어보고 탐색해보세요.
레지스트리 편집기 사용하기
Win32 긴 경로 지원을 활성화하는 한 가지 주요 방법은 레지스트리 편집기의 기능을 활용하는 것입니다. 이 디지털 제어 센터는 Windows 시스템의 핵심 역할을하며 정밀한 설정 조정을 가능하게 합니다.
레지스트리 편집기를 통해 Win32 긴 경로 지원을 활성화하려면 다음 단계를 따르세요.
1. 실행 대화 상자 (Win + R)를 열고 regedit을 입력 한 다음 Enter를 누르거나 확인을 클릭하여 레지스트리 편집기를 시작합니다.

? 중요: 레지스트리 편집기에서 어떠한 변경도 하기 전에, 레지스트리의 백업을 만드세요. 이 백업은 어떠한 문제나 예상치 못한 문제가 발생할 경우 레지스트리를 복원할 수 있는 안전장치 역할을 합니다.
2. 다음 키로 이동하거나 주소 표시줄에 키를 붙여넣어 파일 시스템 동작과 관련된 다양한 설정과 구성에 액세스하세요.
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem

3. LongPathsEnabled 항목(오른쪽 창)을 찾아 더블 클릭하여 관련 데이터에 액세스하고 값 데이터를 0에서 1로 변경하세요.
이 항목은 시스템에 Win32 긴 경로 지원을 활성화하도록 지시합니다.

4. 레지스트리 편집기를 종료하고 변경 사항을 적용하기 위해 Windows 시스템을 다시 시작하세요.
5. 이제 “대상 경로가 너무 길다” 오류를 우회할 수 있는지 확인하기 위해 긴 파일 경로를 가진 파일 또는 폴더를 복사하거나 이동하는 등의 파일 작업을 수행하세요.
? 유감스럽게도, 현재 기준으로 Windows 10 및 Windows Server 2022의 기본 파일 탐색기는 아직 NTFS 긴 경로를 지원하는데 제한이 있습니다. 작업 중에 자주 긴 파일 경로를 다룬다면, OneCommander 및 TotalCommander와 같은 무료 제3자 파일 관리자를 사용할 수 있습니다.
그룹 정책 편집기(GPE) 사용하기
Win32 긴 경로 지원을 활성화하기 위한 복잡한 접근 방식을 탐구하면 다양한 접근법이 나타나는데, 가장 정교한 접근법 중 하나는 GPE를 이용하는 것입니다. GPE는 Windows 기능을 세밀하게 조정하기 위한 사용자 정의 도구상자로 생각할 수 있습니다.
시스템에 확장된 경로 기능을 부여할 때 GPE가 중심에 서서, 중앙 집중적이고 체계적인 방법을 제공합니다.
GPE를 통해 Win32 긴 경로 지원을 활성화하려면 다음 단계를 수행하세요.
1. 아래와 같이 실행 대화상자를 통해 GPE (gpedit.msc)를 엽니다.
GPE는 Windows에서 정책 설정을 관리하기 위한 GUI를 제공하는 Microsoft Management Console (MMC) 스냅인입니다.

2. 다음으로, GPE의 주 창에서 Win32 긴 경로 지원을 활성화하려면 다음을 수행하세요.
- 콘솔 트리(왼쪽 창)에서 컴퓨터 구성 → 관리 템플릿 → 시스템 → 파일 시스템으로 이동합니다. 이렇게 하면 파일 시스템과 관련된 정책 설정에 액세스할 수 있습니다.
- Win32 긴 경로 사용 정책 설정을 찾아 두 번 클릭합니다(오른쪽 창). 선택한 정책 설정에 대한 구성 대화상자가 나타납니다(세 번째 단계).

3. 구성 대화상자에서 활성화 옵션을 선택하고 확인을 클릭하여 Windows의 Win32 긴 경로 지원을 활성화합니다.

4. 이제 긴 파일 경로를 가진 파일이나 폴더를 복사하거나 이동하여 Win32 긴 경로 지원을 테스트할 수 있습니다.
긴 경로에 대한 심볼릭 링크 생성
Win32 긴 경로 지원을 활성화하는 것 외에도 긴 파일 경로 제약을 우회하는 다른 옵션은 디지털 바로 가기, 즉 심볼릭 링크를 생성하는 것입니다.
심볼릭 링크를 만드는 것은 파일 캐비닛에 숨겨진 문을 설치하는 것과 같습니다. 열면 기존 구조를 손상시키지 않고 파일에 대한 표현을 찾을 수 있는 빠른 경로를 발견할 수 있습니다.
긴 경로에 대한 심볼릭 링크를 만들려면 아래 단계를 수행하세요:
1. 관리자 권한으로 명령 프롬프트를 실행하고 다음의 mklink
명령을 실행하여 지정된 대상 경로 (C:\folder-link)에 디렉토리 심볼릭 링크(/D
)를 생성합니다.
심볼릭 링크는 지나치게 긴 경로를 가진 폴더를 가리킵니다. 따라서 <symlink>
을 대상 경로로, <long-path>
를 실제 긴 경로로 대체하세요.

2. 그 다음, 아래의 dir
명령을 실행하여 디렉토리 심볼릭 링크가 존재하는지 확인합니다.

3. 긴 경로 폴더 내에서 symlink.txt라는 텍스트 파일을 생성하여 심볼릭 링크가 작동하는 것을 확인합니다.
?이 튜토리얼은 Directory Opus라는 타사 파일 관리자를 사용합니다. 이는 XYplorer와 유사한 기능이 풍부한 파일 관리자로 Windows에서 파일 관리 경험을 향상시키기 위해 설계되었습니다.

4. 마지막으로, 파일 관리자에서 새로 생성한 디렉터리 심볼릭 링크를 찾아들어가서 긴 경로 폴더로의 링크가 올바르게 되어 있는지 확인하세요.
이제 MAX_PATH 제한을 신경쓰지 않고 대상 폴더로 파일을 복사하거나 이동할 수 있습니다.

파일 작업을 위해 Robocopy 명령어를 사용하기
심볼릭 링크를 생성하는 것은 여러분의 계획에 포함되지 않을 수도 있지만, 파일을 복사하거나 긴 파일 경로를 가진 폴더 간에 파일을 복사하는 직접적인 파일 작업을 원할 수도 있습니다. 그렇다면, 여러분은 Robocopy라는 강력한 솔루션을 사용하여 파일 전송의 문제를 간편한 경험으로 바꿀 수 있습니다.
Robocopy 명령어를 사용하여 파일 작업을 수행하려면 다음 단계를 따르세요:
1. 관리자 권한으로 PowerShell을 열고 다음 명령어를 실행하여 대상 파일의 소스와 대상 경로를 저장할 변수를 선언하세요.
이 명령어들은 출력이 없지만, <source>
와 <destination>
자리표시자를 적절히 바꾸는 것을 잊지 마세요.

2. 다음으로, robocopy
명령어를 실행하여 소스($srcPath
)에서 대상($destPath
)으로 symlink.txt
파일과 그에 대한 모든 정보(/COPYALL
)를 복사하세요.
이 명령은 복사 작업 중 오류가 발생한 경우 대상 파일을 대기하지 않고(/W:0
) 재시도하지 않도록(/R:0
) 보장합니다.
? 파일을 다른 위치로 이동하길 원한다면, 아래와 같이
/COPYALL
을/MOVE
옵션으로 대체하세요. 이 옵션은robocopy
에게 “잘라내기 및 붙여넣기” 작업을 수행하도록 지시합니다.
robocopy $srcPath $destPath symlink.txt /MOVE /W:0 /R:0
아래 출력은 긴 경로와 관계없이 한 개의 파일이 성공적으로 복사되었음을 확인합니다.

robocopy
command bypassing the MAX_PATH limit3. 이제 지정된 위치에 복사한 파일이 있는지 확인하기 위해 아래의 Get-ChildItem
cmdlet을 실행하세요.

PowerShell cmdlet에서 -LiteralPath
매개변수를 활용하기
이미 Robocopy를 사용하여 파일 관리의 복잡한 경로를 탐색할 수 있는 능력을 사용했습니다. 그러나 더 정확하고 효과적인 파일 작업을 위해 어떻게 제어력을 향상시킬 수 있을까요?
PowerShell은 -LiteralPath
와 같은 매개변수가 포함된 cmdlet을 제공하여 파일 관리의 복잡성을 극복할 수 있게 해줍니다.
-LiteralPath
매개변수를 사용하여 파일 작업을 수행하려면 다음을 실행하세요.
1. PowerShell을 관리자 권한으로 열고 다음 명령을 실행하여 소스 파일의 경로와 대상 경로를 저장할 변수를 선언합니다.
<source\symlink.txt>
를 파일의 전체 경로로, <destination>
을 원하는 대상 경로로 교체해야 합니다.
2. 다음으로, Copy-Item
명령을 실행하여 symlink.txt
파일을 지정된 대상 경로($destPath
)로 복사합니다. -LiteralPath
는 와일드카드 문자 해석 없이 파일 경로를 리터럴 방식으로 지정할 수 있도록 합니다.
이 명령은 성공시 콘솔에 출력되지 않지만, 다음 단계에서 결과를 확인할 수 있습니다.
? 필요한 경우,
-LiteralPath
는 파일 작업을 위해 다른 cmdlet과 함께도 작동합니다. 이와 같은 cmdlet에는Move-Item
,Rename-Item
,Remove-Item
등이 있습니다.
3. 마지막으로 아래의 Get-ChildItem
명령을 실행하여 대상 경로($destPath
) 내의 파일과 폴더 목록을 표시합니다.

?
-LiteralPath
가 탁월하게 작동하는 대로, 이 매개변수는 주로 소스 경로 또는 파일 이름을 지정하는 데 사용됩니다. 그러나 스크립팅 시나리오에서는-LiteralPath
를 사용하여 정확한 경로에서 작동하도록 스크립트를 설정하여 예기치 않은 문자 해석으로 인한 오류 가능성을 줄일 수 있습니다.
Expand-Archive
명령을 사용하여 아카이브 파일 추출하기
매우 긴 이름을 가진 아카이브 파일(ZIP)을 이름을 변경하지 않고 추출하려는 경우를 가정해보겠습니다. 이러한 경우 PowerShell의 Expand-Archive
명령이 실용적인 해결책이 될 수 있습니다.
Expand-Archive
명령을 사용하면 아카이브에서 파일을 압축 해제하거나 추출하면서 긴 경로를 처리할 수 있습니다.
Expand-Archive
명령을 사용하여 아카이브 파일을 추출하려면 다음 단계를 수행하십시오:
1. PowerShell에서 다음 명령을 실행하여 (관리자 권한으로) 아카이브 파일의 전체 경로와 대상 경로를 저장할 변수를 선언하십시오.
2. 변수가 선언되면 아래의 Expand-Archive
명령을 실행하여 아카이브 파일을 지정한 대상 경로로 추출하십시오. 이 명령은 출력을 제공하지 않지만 아카이브 파일을 지정한 대상 경로로 추출합니다.
3. 마지막으로, 아래의 Get-ChildItem
명령을 실행하여 대상 경로($destPath
) 내의 파일 및 폴더 목록을 확인하십시오.
출력에서 아카이브 파일(빨간색 텍스트)과 추출된 폴더(파란색으로 강조 표시) 두 항목을 확인할 수 있습니다. 이 출력은 “목적지 경로가 너무 길다” 오류를 트리거하지 않고 아카이브 파일을 성공적으로 추출한 것을 확인합니다.

결론
이 여정을 통해 Windows에서 악명 높은 “목적지 경로가 너무 길다” 오류를 해결하기 위한 다양한 전략을 다루었습니다. 상위 폴더 이름 변경부터 7-Zip의 능력과 Win32 긴 경로 지원을 활성화하는 등 다양한 기술을 살펴보았습니다.
상징적인 링크는 교묘한 해결책을 제공하며, 강력한 Robocopy는 효율적인 파일 작업을 수행하는 능력을 입증했습니다. PowerShell에 대한 탐구는 -LiteralPath
매개변수와 Expand-Archive
명령의 유용성을 보여주었습니다. 이 모든 것들은 경로 길이 제한에 굴하지 않고 파일을 추출하는 데 매우 가치 있는 도구입니다.
이제, 왜 이러한 전략들을 결합하여 특정한 도전에 맞춘 견고한 솔루션을 만들지 고려해보시겠습니까? PowerShell에서 스크립팅을 실험하고 필요한 곳에 상징적 링크를 통합하며 Robocopy를 사용하여 파일 작업을 세밀하게 조정해보세요.
기억하세요, 핵심은 단순히 즉시 문제를 해결하는 것뿐만 아니라 이러한 방법들이 다양한 파일 관련 도전 과제에 조화롭게 작동하는 방식을 이해하는 데 있습니다.
Source:
https://adamtheautomator.com/destination-path-too-long/