Computer >> 컴퓨터 >  >> 소프트웨어 >> 소프트웨어

Windows에서 '파일 이름이 너무 깁니다' 오류 해결하는 완벽 가이드

이 오류를 한 번쯤 겪어봤다면 아마 간단히 해결했을 것입니다. 하지만 두 번 이상 마주쳤다면, 때로는 꽤 복잡한 문제가 될 수 있다는 사실도 알고 계실 겁니다.

간단한 방법으로 해결되기를 바라지만, 확실하게 작동하는 조금 더 복잡한 해결책까지 미리 준비해 두었으니 걱정하지 않으셔도 됩니다.

Windows에서  파일 이름이 너무 깁니다  오류 해결하는 완벽 가이드

Windows에서 파일 이름 길이는 왜 문제가 될까?

파일 이름 길이는 Windows 같은 운영체제에서 오랫동안 골칫거리였습니다. 예전에는 파일 이름이 8자, 확장자가 3자를 넘을 수 없었습니다. 최대한 myresume.doc 정도의 이름만 가능했죠. 이는 파일 시스템 설계상의 제약 때문이었습니다.

새 버전의 Windows가 출시되면서 상황은 많이 좋아졌습니다. 구식의 제한적인 파일 시스템에서 NTFS(New Technology File System)로 넘어오면서 파일 이름은 255자까지, 파일 경로는 최대 32,767자까지 지원하게 되었습니다. 그런데 어떻게 여전히 '파일 이름이 너무 깁니다'라는 오류가 발생할 수 있을까요?

Windows에서  파일 이름이 너무 깁니다  오류 해결하는 완벽 가이드

Windows에는 '시스템 변수'라는 것이 있습니다. Windows는 이 변수들을 기반으로 작동하며, 데이터가 어디로 이동하든 항상 변수의 의미와 위치를 파악합니다. 시스템 변수 중 MAX_PATH는 파일 이름과 파일 경로를 260자 미만으로 제한하는 역할을 합니다.

변수니까 바꿀 수 있을 것 같지만, 그래서는 안 됩니다. 스웨터에서 실 한 가닥을 뽑는 것과 같아서, 하나의 시스템 변수를 바꾸는 순간 이에 의존하는 다른 변수와 구성 요소들이 연쇄적으로 무너질 수 있습니다.

그렇다면 어떻게 해결해야 할까요?

간단한 해결 방법

운이 좋다면 오류가 발생했을 때 어떤 파일 이름이 원인인지, 적어도 파일이 어디에 있는지 바로 알 수 있습니다. 예를 들어 다음과 같은 파일 이름이 있다고 가정해 보죠.

C:\User\guymc\Documents\My Resumes\resumewithanamesolongthatitcausesproblemsandbecomespartofsomeguysarticleonthewebhowdoyoulikemenow.docx

이 경우 범인은 명백합니다. 파일 탐색기에서 해당 파일을 찾아 한 번 클릭한 뒤 F2 키를 눌러 이름을 바꾸고, 좀 더 합리적인 이름으로 수정하면 끝입니다. 문제 해결!

조금 더 복잡한 해결 방법

항상 이렇게 쉽게 해결되는 것은 아닙니다. 어떤 이유로든 파일이나 폴더의 이름을 바꿀 수 없는 경우도 있습니다.

다음 방법들은 이런 상황에서 유용합니다. 생각보다 어렵지 않으니 차근차근 따라 해 보세요.

PowerShell로 파일·폴더 이동, 삭제, 복사하기

파일 경로의 글자 수가 260자를 초과하는 폴더를 이동, 삭제 또는 복사하려고 할 때 오류가 발생할 수 있습니다.

'디렉터리'와 '폴더'는 같은 의미로 사용됩니다. 이 글에서는 '폴더'라고 부르겠습니다. 아래의 PowerShell cmdlet은 파일에도 동일하게 적용할 수 있습니다.

예를 들어 파일 경로가 다음과 같다고 해보죠.

C:\Users\guymc\Documents\This\Is\Exactly\The\Precise\Directory\Path\That\I\Need\To\Have\To\Keep\My\Files\Sorted\In\A\Manner\That\Makes\Sense\To\Me\So\Lets\Pretend\This\Is\An\Actual\Filepath\That\You\Might\Also\Have\On\Your\Windows\Computer\And\Not\Over\Think\It\Document.docx

이 경로는 무려 280자입니다. 따라서 일반적인 복사-붙여넣기 방법으로는 폴더를 다른 곳에 복사할 수 없고, '대상 경로가 너무 깁니다(Destination Path Too Long)' 오류가 나타납니다.

Windows에서  파일 이름이 너무 깁니다  오류 해결하는 완벽 가이드

어떤 이유로든 파일이 들어 있는 폴더들의 이름을 바꿀 수 없다고 가정해 봅시다. 이럴 때는 어떻게 해야 할까요?

먼저 PowerShell을 엽니다. PowerShell이 처음이라면 입문 가이드를 참고하면 좋지만, 이 글의 단계만 따라 해도 충분히 진행할 수 있습니다.

PowerShell이 열리면 기본적으로 사용자 디렉터리의 루트에 위치합니다. 사용자 디렉터리가 C:\Users\guymc라고 가정하고 진행해 보겠습니다.

This라는 폴더는 Documents 폴더 안에 있습니다. Documents 폴더로 이동하려면 DOS 명령어 cd Documents를 입력합니다.

Windows에서  파일 이름이 너무 깁니다  오류 해결하는 완벽 가이드

프롬프트가 C:\Users\guymc\Documents로 바뀌면 성공입니다. 대상 폴더에 가까울수록 작업이 훨씬 수월해집니다.

Copy-Item으로 폴더 복사하기

This 폴더와 그 내용물을 ThatNewFolder로 복사한다고 가정해 보겠습니다. PowerShell cmdlet Copy-Item-Destination-Recurse 매개변수를 함께 사용합니다.

-Destination은 복사본을 만들 위치를 지정하고, -Recurse는 폴더 안의 모든 항목을 함께 복사하도록 지시합니다. 복사 후에도 원본은 그대로 유지되며, 대상 위치에 새 복사본이 생성됩니다.

Copy-Item This -Destination ThatNewFolder -Recurse

Windows에서  파일 이름이 너무 깁니다  오류 해결하는 완벽 가이드

Move-Item으로 폴더 이동하기

이번에는 This 폴더와 그 안의 모든 폴더·파일을 ThatNewFolder로 옮겨 보겠습니다. 이동은 복사와 달리 원본을 남기지 않습니다.

PowerShell cmdlet Move-Item-Path-Destination 매개변수를 사용합니다. -Path는 이동할 항목을, -Destination은 이동할 위치를 지정합니다.

이 cmdlet은 ThatNewFolder 안에 This 폴더를 넣으며, This 폴더 내부의 모든 내용도 함께 옮깁니다. Move-Item은 파일과 폴더 모두 이동할 수 있으며, 경로나 파일 이름의 길이에 영향을 받지 않습니다.

Move-Item -Path This -Destination ThatNewFolder

Windows에서  파일 이름이 너무 깁니다  오류 해결하는 완벽 가이드

제대로 되었는지 확인하려면 cd ThatNewFolder 명령으로 해당 폴더에 진입한 뒤, dir 명령으로 목록을 확인하세요. This 폴더가 보이면 성공입니다.

Windows에서  파일 이름이 너무 깁니다  오류 해결하는 완벽 가이드

Remove-Item으로 폴더 삭제하기

This 폴더와 그 안의 모든 내용을 삭제하려면 Remove-Item cmdlet을 사용합니다.

Remove-Item에는 실수로 내용이 있는 폴더를 삭제하지 못하도록 하는 안전장치가 내장되어 있습니다. 이 예제에서는 모든 내용을 삭제하려는 것이 분명하므로, 하위 항목까지 모두 삭제하는 -Recurse와 확인 메시지 없이 강제 실행하는 -Force 매개변수를 함께 사용합니다.

주의! 이 방법으로 삭제한 데이터는 복구가 매우 어렵습니다. 실수로 삭제한 파일 복구 방법을 시도해 볼 수는 있지만 큰 기대는 하지 않는 것이 좋습니다.

Remove-Item This -Recurse -Force

Windows에서  파일 이름이 너무 깁니다  오류 해결하는 완벽 가이드

dir 명령을 다시 실행해 폴더가 사라졌는지 확인할 수 있습니다.

Windows 10에서 긴 파일 경로 허용하기

앞으로도 긴 파일 경로와 파일 이름을 자주 다룰 예정이라면, Windows 설정 자체를 바꿔두는 편이 낫습니다. 매번 PowerShell로 작업할 필요가 없어지죠.

방법은 두 가지입니다. 하나는 Windows 10 Home 사용자용, 다른 하나는 Windows 10 Pro 또는 Enterprise 사용자용입니다. Windows 8.1 이하 버전에서도 작동할 수 있지만 보장은 어렵습니다.

Windows 10 Home에서 긴 파일 경로 허용하기

Windows 10 Home에서 긴 파일 경로를 허용하려면 레지스트리 편집기를 열어야 합니다. 레지스트리 편집기를 처음 다룬다면 각별히 주의하세요. 잘못된 항목을 삭제하거나 변경하면 Windows가 아예 작동하지 않을 수 있습니다.

변경 전에는 반드시 레지스트리를 백업하세요. 백업 및 복원 방법은 관련 전문 가이드를 참고하시기 바랍니다.

레지스트리 편집기를 열고 백업을 마쳤다면, HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem 위치로 이동해 LongPathsEnabled 키를 찾습니다.

Windows에서  파일 이름이 너무 깁니다  오류 해결하는 완벽 가이드

LongPathsEnabled를 두 번 클릭하고, 값 데이터(Value data) 필드에 1이 입력되어 있는지 확인합니다. 확인을 클릭해 변경 사항을 저장합니다.

Windows에서  파일 이름이 너무 깁니다  오류 해결하는 완벽 가이드

레지스트리 편집기를 종료하면 이제 아주 긴 파일 경로도 문제없이 다룰 수 있습니다.

Windows 10 Pro/Enterprise에서 긴 파일 경로 허용하기

Windows 10 Pro 또는 Enterprise에서는 그룹 정책 편집기(Group Policy Editor)를 사용합니다. 이 도구를 이용하면 컴퓨터 및 사용자 수준에서 Windows의 동작 방식에 대한 정책을 설정할 수 있습니다.

시작 메뉴에서 gpedit을 입력하고, 검색 결과 상단에 나타나는 그룹 정책 편집(Edit group policy)을 두 번 클릭해 실행합니다.

Windows에서  파일 이름이 너무 깁니다  오류 해결하는 완벽 가이드

그룹 정책 편집기가 열리면 컴퓨터 구성 > 관리 템플릿 > 시스템 > 파일 시스템(Filesystem)으로 이동합니다. 그곳에서 Win32 긴 경로 사용(Enable Win32 long paths) 정책을 찾을 수 있습니다.

Windows에서  파일 이름이 너무 깁니다  오류 해결하는 완벽 가이드

정책을 두 번 클릭해 설정을 편집하고, 사용 안 함(Disabled)에서 사용(Enabled)으로 변경한 뒤 확인 버튼을 클릭합니다.

Windows에서  파일 이름이 너무 깁니다  오류 해결하는 완벽 가이드

정책이 즉시 적용되지 않을 수 있습니다. 이 경우 그룹 정책을 강제로 업데이트하면 바로 반영됩니다.

마무리

긴 파일 이름과 경로를 우회하는 다른 방법들도 있지만, 이 글에서 소개한 방법들이 가장 간단하고 효과적입니다. 상황에 맞는 방법을 선택해 '파일 이름이 너무 깁니다' 오류를 손쉽게 해결해 보세요.