이 문제를 본 적이 있다면 아마도 간단한 해결 방법이었을 것입니다. 이 오류를 두 번 이상 본 경우 때때로 해결해야 하는 복잡한 문제가 될 수 있다는 것도 알고 있습니다.
쉬운 수정 프로그램만 사용하기를 바라지만 덜 쉽고 작동이 보장되는 수정 프로그램도 준비할 것입니다.
Windows에서 파일 이름 길이가 문제인 이유는 무엇입니까?(Why Is Filename Length Even An Issue In Windows?)
Windows 와 같은 운영 체제에서 문제가 되는 파일 이름 길이의 오랜 역사가 있습니다 . 파일 이름이 8자 이상이고 파일 확장자가 3자 이상일 수 없었던 때가 있었습니다. 당신이 할 수 있는 최선은 myresume.doc 같은 것이었 습니다. 이것은 파일 시스템 설계에 따른 제한 사항이었습니다.
새 버전의 Windows(Windows) 가 나오면서 상황이 좋아 졌습니다. 우리는 오래되고 제한된 파일 시스템에서 NTFS ( New Technology File System )라는 파일 시스템으로 전환했습니다. NTFS 는 파일 이름의 길이가 255자이고 파일 경로 길이가 잠재적으로 최대 32,767자가 될 수 있는 지점으로 안내했습니다. 그렇다면 어떻게 너무 긴 파일 이름을 가질 수 있습니까?
Windows 에는 시스템 변수라는 것이 있습니다. 이것은 Windows(Windows) 가 기능을 수행하기 위해 의존하는 변수입니다 . 왜냐하면 우리가 비트와 바이트를 여기저기 이동하는 경우에도 Windows 는 항상 변수의 의미와 위치를 알고 있기 때문입니다. 시스템 변수 MAX_PATH 는 파일 이름과 파일 경로를 260자 미만으로 제한하는 변수입니다.
변수이기 때문에 우리가 그것을 바꿀 수 있다고 생각할 것입니다. 아니, 우리는해서는 안됩니다. 스웨터에서 실을 뽑는 것과 같습니다. 하나의 시스템 변수가 변경되자마자 다른 시스템 변수와 이에 종속된 구성요소가 풀리기 시작합니다.
그렇다면 어떻게 고칠까요?
쉬운 수정(The Easy Fix)
운이 좋다면 오류가 발생하고 문제를 일으키는 파일 이름을 정확히 알 수 있습니다. 또는 적어도 파일을 찾을 위치. 다음과 같은 파일 이름이 있을 수 있습니다.
C:\User\guymc\Documents\My Resumesresumewithanamesolongthatitcausesproblemsandbecomespartofsomeguysarticleonthewebhowdoyoulikemenow.docx
이 사건의 가해자가 누구인지는 뻔하다. Windows 탐색기(Windows Explorer) 또는 Windows 10 에서 호출되는 파일 탐색기(File Explorer) 에서 파일을 찾고 파일을 한 번 클릭하고 F2 키(F2) 를 눌러 이름을 바꾸고 어리석은 파일 이름을 더 합리적인 것으로 변경합니다. 문제(Problem) 가 해결되었습니다.
덜 쉬운 수정(The Less Easy Fixes)
이 문제를 해결하는 것이 항상 쉬운 것은 아닙니다. 어떤 이유로든 파일이나 디렉토리의 이름을 변경할 수 없는 경우가 있습니다.
다음 솔루션이 도움이 될 것입니다. 그들은 하기 어렵지 않습니다.
(Move)PowerShell 을 사용하여 파일 또는 디렉터리 (Or Copy Files Or Directories Using PowerShell)이동 , 삭제 또는 복사(Delete)
파일 경로의 문자 수가 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 오류가 발생합니다 .
어떤 이유에서든 파일이 중첩된 디렉토리의 이름을 바꿀 수 없다고 가정해 봅시다. 우리는 무엇을해야합니까?
PowerShell을 엽니(Open PowerShell) 다. PowerShell 을 아직 사용하지 않았다면 가정 사용자를 위한 PowerShell 사용 – 초보자 가이드(Using PowerShell for Home Users – A Beginner’s Guide) 문서를 참조하십시오 . 하지만 기사를 읽지 않고도 다음 단계를 수행할 수 있습니다.
PowerShell 이 열리면 사용자 디렉터리의 루트에 있게 됩니다. C:\Users\guymc 가 사용자 디렉토리 라고 가정하고 따르십시오 .(Follow)
This 라는 디렉토리 는 Documents 디렉토리 안에 있습니다. Documents 디렉토리 로 이동하려면 DOS 명령 cd Documents 를 사용합니다 .
C:\Users\guymc\Documents 로 프롬프트가 변경되는 것을 볼 수 있습니다 . 좋아요. 우리는 일을 더 쉽게 할 디렉토리에 더 가깝게 일하고 있습니다.
항목 복사를 사용하여 디렉토리 복사
This 디렉토리 와 그 내용을 ThatNewFolder 에 복사하려고 합니다 . -Destination 및 -Recurse 매개 변수와 함께 PowerShell cmdlet Copy-Item 을 사용하겠습니다 .
-Destination은 복사본을 어디에 둘 것인지 PowerShell 에 알려줍니다. (PowerShell)-Recurse는 PowerShell 에 내부의 모든 항목을 대상으로 복사하도록 지시합니다. 복사는 원본을 그대로 두고 대상에 모든 새 원본을 만듭니다.
Copy-Item This -Destination ThatNewFolder -Recurse
Move-Item을 사용하여 디렉토리 이동
This 디렉토리와 그 안의 모든 디렉토리와 파일을 ThatNewFolder 로 이동한다고 가정해 보겠습니다 . 이동해도 원본이 제자리에 유지되지 않습니다.
매개 변수 -Path(-Path) 및 -Destination 과 함께 PowerShell cmdlet Move-Item 을 사용할 수 있습니다 . -Path는 이동하려는 항목을 정의하고 -Destination 은 원하는 위치를 (-Destination)PowerShell 에 알려줍니다 .
cmdlet은 This를 ThatNewFolder 안에 넣습니다 . 또한 This 디렉토리 안에 있는 모든 것을 이동합니다. Move-Item은 파일이나 디렉터리를 이동하는 데 사용할 수 있으며 파일 경로나 파일 이름 길이에 관계없이 작동합니다.
Move-Item -Path This -Destination ThatNewFolder
작동하는지 확인하려면 cd ThatNewFolder 명령을 사용하여 ThatNewFolder 로 이동하십시오 . 그런 다음 dir 명령을 사용하여 ThatNewFolder 의 디렉토리를 나열합니다 . This 디렉토리가 거기에 있음을 볼 수 있습니다.
Remove-Item을 사용하여 디렉토리 삭제
This 디렉터리와 그 안에 있는 모든 항목 을 삭제 하려면 Remove-Item cmdlet을 사용합니다.
Remove-Item cmdlet에는 내부에 항목 이 있는 디렉터리를 삭제하기 어렵게 만드는 몇 가지 기본 제공 안전 기능이 있습니다. 이 예에서 우리는 모든 것을 삭제하고 싶다는 것을 알고 있으므로 매개변수 -Recurse 를 사용하여 내부의 모든 것을 삭제하고 -Force 내부의 모든 항목이 확실한지 묻지 않고 그렇게 하도록 합니다.
경고 받다! 이 방법으로 삭제된 항목을 복구하는 것은 매우 어려울 것입니다. 실수로 삭제된 파일을 복구 하는 방법 에서 방법을 시도할 수 있지만 많은 것을 기대하지는 마십시오.
Remove-Item This -Recurse -Force
dir 명령을 다시 사용하여 사라졌는지 확인할 수 있습니다.
Windows 10에서 긴 파일 경로를 허용하도록 설정(Make Windows 10 Accept Long File Paths)
긴 파일 경로와 긴 파일 이름을 반복적으로 사용하게 될 것이라는 사실을 알고 있다면 Windows 를 사용하는 것이 더 쉽습니다 . PowerShell 을 사용하여 매일 작업하는 것은 의미가 없습니다 .
두 가지 방법이 있습니다. 하나는 Windows 10 Home 사용자용이고 다른 하나는 Windows 10 Pro 또는 Enterprise 사용자용입니다. 이러한 방법은 Windows 8.1 또는 이전 버전에서 작동할 수 있지만 보장할 수는 없습니다.
(Make)Windows 10 Home에서 긴 파일 경로를 허용하도록 (Home Accept Long File Paths)설정
Windows 10 Home 이 긴 파일 경로를 허용 하도록 하려면 레지스트리 편집기(Registry Editor) 를 열어야 합니다 . 이전에 레지스트리 편집기(Registry Editor) 에서 작업한 적이 없다면 주의하십시오. 여기에서 실수로 항목을 삭제하거나 변경하면 Windows 가 완전히 작동하지 않을 수 있습니다.
변경하기 전에 항상 레지스트리를 백업하십시오. Windows 레지스트리 백업 및 복원( Ultimate Guide to Backing Up and Restoring the Windows Registry) 에 대한 궁극적인 가이드에서 이에 대해 알아야 할 모든 것을 배우십시오 .
레지스트리 편집기(Editor) 를 열고 백업을 만든 후 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystemLongPathsEnabled 키를 찾습니다 .
LongPathsEnabled 를 두 번 클릭합니다 . 값 데이터:(Value data:) 필드에 숫자 1 이(1) 있는지 확인하십시오 . 확인(OK) 을 클릭 하여 변경 사항을 커밋합니다.
레지스트리 편집기(Registry Editor) 를 종료 하면 이제 미친 긴 파일 경로로 작업할 수 있습니다.
(Make)Windows 10 Pro 또는 Enterprise에서 긴 파일 경로를 허용하도록 (Pro Or Enterprise Accept Long File Paths)설정
Windows 10 Pro 또는 Enterprise 에서 긴 파일 경로를 사용할 수 있도록 그룹 정책 편집기(Group Policy Editor) 를 사용하겠습니다 . Windows가 컴퓨터 및 사용자 수준에서 작동하는 방식에 대한 정책을 설정할 수 있는 도구입니다.
Internet Explorer 옵션( disabling or enabling Internet Explorer options) 을 비활성화 또는 활성화하거나 로그온 화면에 메시지를 추가하는( adding a message to the logon screen) 것과 같은 작업을 수행하기 위해 그룹 정책을 사용하는 방법에 대한 여러 기사가 있습니다 .
시작(Start) 메뉴로 이동하고 gpedit 을 입력 하여 그룹 (gpedit)정책 편집기(Group Policy Editor) 를 엽니다 . 최상위 결과는 그룹 정책 편집(Edit group policy) 이어야 합니다 . 그것을 두 번 클릭하십시오.
그룹 정책 편집기(Group Policy Editor) 가 열리면 Computer Configuration > Administrative Templates > System > Filesystem 으로 이동 합니다 . 거기에 Enable Win32 긴 경로(Enable Win32 long paths) 정책이 표시 됩니다.
이를 두 번 클릭하여 정책 설정을 편집합니다. Disabled 에서 Enabled 로 변경 한 다음 OK 버튼을 클릭하여 변경 사항을 커밋합니다.
정책이 즉시 적용되지 않을 수 있습니다. 하지만 그룹 정책을 강제로 업데이트( force the group policy to update) 할 수 있습니다 .
그게 다야(That’s It)
긴 파일 이름과 파일 경로를 해결하는 다른 방법이 있지만 여기에서 살펴본 것은 가장 간단하고 효과적인 방법입니다.
How To Fix ‘Filename Is Too Long’ Issue In Windows
If you’ve ever seen this issuе, it was probably a simple fіx for you. If yoυ’ve seen this error more than twice, then you also know thаt it can bе a complex issue to fix ѕometimes.
Let’s hope you only run into the easy fix variety, but we’ll prepare you for the less easy, guaranteed to work fixes too.
Why Is Filename Length Even An Issue In Windows?
There’s a long history of filename lengths being a problem for operating systems like Windows. There was a time when you couldn’t have filenames longer than 8 characters plus a 3-character file extension. The best you could do was something like myresume.doc. This was a restriction in place by the design of the file system.
Things got better as new versions of Windows came out. We went from an old, limited, file system to something called the New Technology File System (NTFS). NTFS took us to a point where a filename could be 255 characters long, and the file path length could potentially go up to 32,767 characters. So how can we possibly have filenames that are too long?
Windows has things known as system variables. These are variables that Windows relies upon to function, because Windows will always know what the variables mean and where they are, even when we’re moving bits and bytes all over the place. The system variable MAX_PATH is the one that restricts filenames and file paths to under 260 characters.
Being a variable, you’d think we could change it. No, we should not. It would be like pulling a thread out of a sweater. As soon as one system variable changes, other system variables and components dependent on them start to unravel.
How do we fix it, then?
The Easy Fix
If you’re fortunate, you’ll get the error and know exactly what file’s name is causing the issue. Or at least where to find the file. Maybe you have a filename that looks something like:
C:\User\guymc\Documents\My Resumesresumewithanamesolongthatitcausesproblemsandbecomespartofsomeguysarticleonthewebhowdoyoulikemenow.docx
It’s obvious who the offender is in this case. Find the file in Windows Explorer, or File Explorer as it’s called in Windows 10, click once on it, hit F2 to rename it, and change that silly filename to something more reasonable. Problem solved.
The Less Easy Fixes
It isn’t always that easy to fix this problem. Sometimes you may not be able to change the names of files or directories for whatever reason.
The following solutions will do the trick for you. They aren’t hard to do.
Move, Delete, Or Copy Files Or Directories Using PowerShell
Sometimes you get an error when trying to move, delete, or copy directories where the character count for the file path is more than 260.
Note that the words directory and folder are interchangeable. We’ll use ‘directory’ going forward. The following PowerShell cmdlets can also be used on files.
Perhaps the file path looks something like:
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
That file path is 280 characters long. So we cannot copy the directory out of there to somewhere else with the normal copy-paste method. We get the Destination Path Too Long error.
Let’s assume that for whatever reason, we can’t rename the directories in which the file is nested. What do we do?
Open PowerShell. If you haven’t used PowerShell yet, enjoy our article Using PowerShell for Home Users – A Beginner’s Guide. You can do the next steps without reading the article, though.
When PowerShell opens, you’ll be at the root of your user directory. Follow along assuming C:\Users\guymc is your user directory.
The directory named This is inside the Documents directory. To move into the Documents directory, we use the DOS command cd Documents.
You’ll see the prompt change to C:\Users\guymc\Documents. That’s good. We’re working closer to the directories which will make things easier.
Copy Directory Using Copy-Item
We want to copy the directory This and its contents into ThatNewFolder. Let’s use the PowerShell cmdlet Copy-Item with the parameters -Destination and -Recurse.
-Destination tells PowerShell where we want the copy to be. -Recurse tells PowerShell to copy all the items inside to the destination. Copying leaves the originals where they are and makes all new ones in the destination.
Copy-Item This -Destination ThatNewFolder -Recurse
Move Directory Using Move-Item
Let’s say we want to move the directory This, and all the directories and files in it, to ThatNewFolder. Moving does not leave the original in place.
We can use the PowerShell cmdlet Move-Item with the parameters -Path and -Destination. -Path defines the item we want to move and -Destination tells PowerShell where we want it.
The cmdlet will put This inside of ThatNewFolder. It will also move everything that is inside of the This directory. Move-Item can be used to move files or directories, and it works regardless of file path or filename length.
Move-Item -Path This -Destination ThatNewFolder
To make sure it worked, use the cd ThatNewFolder command to get into ThatNewFolder. Then use the dir command to list the directories in ThatNewFolder. You’ll see the This directory is in there.
Delete Directory Using Remove-Item
If we want to delete the This directory, and everything in it, we use the Remove-Item cmdlet.
The Remove-Item cmdlet has some built-in safety that makes it difficult to delete a directory with things inside of it. In our example, we know we want to delete everything, so we’ll use the parameters -Recurse to make it delete everything inside and -Force to make it do that without asking us if we’re sure for every item inside.
Be warned! Recovering anything deleted this way would be extremely difficult. You can try the methods in How to Recover Accidentally Deleted Files, but don’t expect much.
Remove-Item This -Recurse -Force
You can use the dir command again to make sure it is gone.
Make Windows 10 Accept Long File Paths
If you know you’re going to be using long file paths and long file names repeatedly, it’s easier to make Windows work for you. No sense using PowerShell to do the work every day.
There are two ways we can do this. One is for Windows 10 Home users and the other is for Windows 10 Pro or Enterprise users. These methods may work for Windows 8.1 or earlier, but we cannot guarantee that.
Make Windows 10 Home Accept Long File Paths
To make Windows 10 Home accept long file paths, we need to open the Registry Editor. If you haven’t worked in Registry Editor before, be cautious. Accidentally deleting or changing things in here can stop Windows from working completely.
Always make a backup of your registry before making any changes. Learn everything you need to know about that in our Ultimate Guide to Backing Up and Restoring the Windows Registry.
Once you have Registry Editor opened, and your backup made, navigate to the location HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem and find the key LongPathsEnabled.
Double-click on LongPathsEnabled. In the Value data: field, make sure the number 1 is in there. Click OK to commit the change.
Exit Registry Editor and you should be able to work with crazy long file paths now.
Make Windows 10 Pro Or Enterprise Accept Long File Paths
To allow Windows 10 Pro or Enterprise to use long file paths, we’re going to use the Group Policy Editor. It’s a tool that allows us to set policies on how Windows operates at the computer and the user levels.
We’ve got several articles on using group policy to do things like disabling or enabling Internet Explorer options, or adding a message to the logon screen.
Open the Group Policy Editor by going to the Start menu and typing in gpedit. The top result should be Edit group policy. Double-click on that.
Once the Group Policy Editor opens, navigate to Computer Configuration > Administrative Templates > System > Filesystem. There you’ll see the policy Enable Win32 long paths.
Double-click on it to edit the policy setting. Change it from Disabled to Enabled, then click the OK button to commit the change.
The policy may not take effect right away. You can force the group policy to update, though.
That’s It
There are some other ways to work around long filenames and file paths, but what we’ve gone through here are the simplest, most effective methods.