윈도우10에서 긴 이름의 파일 지우는 방법

No comments

파일 이름이 길다며 파일이 안 지워지는 일은 자주 일어난다. 파일 이름과 저장경로의 이름 문자열의 합이 255 자보다 길면 윈도우즈가 처리를 안 하는 것이다. 긴 이름의 파일은 응용프로그램 때문에 생긴다. 보통 윈도우즈 기본 프로그램은 파일을 만들거나 옮길 때 파일명의 길이를 확인한다. 그래서 오류가 일어나지 않는다. 그러나 어떤 응용프로그램은 파일을 만들거나 옮길 때 파일 이름의 길이를 확인하지 않는다. 그래서 일단 만들어지기는 하는데, 이 파일을 사용할 때 윈도우즈는 파일 이름을 인식할 수 없으므로 오류를 내보내고 아무런 작업도 하지 않는 것이다. 그래서 파일 이름을 바꾸거나 지우는 방법이 필요하게 된다. (윈도우즈10은 파일명을 더 길게 하용하고 있다. 256 자로 제한하는 것은 오류를 염려한 조취로 보인다. 그러므로 아예 윈도우즈10에서 허용하는 파일 이름 길이를 길게 설정하는 방법도 있다.)

이 글의 내용은 딱히 어려운 것도 아니고 그냥 구글에 물어보면 답을 잘 알려주니까 여기에 글을 쓸 필요는 사실 없다. 나중에 내가 보려고 적는 것일 뿐!


명령 프롬프트에 익숙하지 않은 사람은 쉽게 중요한 파일을 지우는 실수할 수 있으므로, 이 방법은 꼭 지워지지 않는 파일을 지울 때만 사용해라.

  1. 지우려는 긴 이름의 파일이 있는 폴더에 있는 다른 파일을 전부 다른 곳으로 옮긴다. 남겨두면 전부 지워진다.
  2. 빈 폴더를 새로 만든다. (기존 폴더를 써도 되지만, 안에 반드시 아무 파일도 없어야 한다.)
  3. 우선 win+R 키를 누르거나 cmd를 실행하거나 하여 명령프롬프트를 실행한다.
  4. 명령행에 다음을 입력한다.
    robocopy [빈 폴더 경로] [지울 파일 있는 폴더 경로] /MIR
  5. 빈 폴더들을 지운다.

robocopy는 윈10에 기본으로 포함된 프로그램이다. 따로 프로그램을 설치할 필요가 없다. 4 번 항목의 robocopy 옵션에 폴더 경로 순서가 뒤바뀌었다고 생각하기 쉬우나, 덮어쓰기 개념으로 지우는 것이라서 저렇게 해야 한다.

외부 프로그램으로 지우거나 이름을 바꿀 수도 있다고 한다. 파일을 생성하는 역할을 하는 압축프로그램(7zip 등)의 파일창을 열고서 그 창 안에서 한번 작업해봐라.

cmd를 실행하는 방법은 ‘시작’의 ‘windows 시스템’에서 ‘명령 프롬프트’를 찾아 실행해도 되고, 탐색기의 경로창에 ‘cmd’를 입력해도 된다. 검색에서 검색해도 된다. 다른 다양한 방법이 있을 수 있다.

나중에 더 좋은 방법을 알게 되면 적겠다.


2020.09.10 추가

윈도우10이 업데이트 하면서 버그의 일부가 수정됐다.

폴더 안에 긴 파일의 이름이 있어도 폴더를 다른 곳으로 옮길 수 있게 됐다. 따라서 폴더를 루트 바로 밑으로 복사한 뒤에 지우면 된다.

이 경우에도 파일과 폴더의 이름 길이의 합이 허용한 문자열 길이보다 길면 지울 수 없는지도 모른다. 혹시 안 될 경우엔 위의 방법으로…!

댓글 남기기