경로가 너무 길어서 삭제하기 어려운 파일을 삭제하는 방법 [중복]


203

나는 내가 찾은 컴퓨터 비전 소스 코드로 작업하고 있었고 그것이 매우 긴 이름을 가진 캐시 파일을 생성한다는 것을 알지 못했고 이제는 그중 2 개를 삭제할 수 없습니다.

나는 더 짧은 이름으로 이름을 바꾸려고했지만 파일에 아무것도 할 수 없으며 컴퓨터를 다시 시작하여 사라질지 확인했습니다.

오류 메시지는 다음과 같습니다.

대상 경로가 너무 깁니다.

파일 이름이 대상 폴더에 비해 너무 깁니다. 파일 이름을 줄이고 다시 시도하거나 경로가 짧은 위치를 시도하십시오.

스크린 샷

이 경우 파일을 어떻게 삭제합니까?


명령 행에서 del명령 과 함께 작동 합니까? 줄의 내용 del *.cache은 현재 디렉토리의 모든 .cache 파일을 삭제해야합니다.
Ryan

"경로 \ to \ 폴더 \ CACHEI ~ 시스템이 지정된 파일을 찾을 수 없습니다"라고 두 번 파일이 있고 2 개의 파일이 있지만 아무 것도하지 않았다고
Chris

다시 생각하면 이미 답변 된 다른 질문 중 하나를 확인할 수 있습니다. 이것은 예를 들어.
Ryan

1
이 두 파일이 디렉토리에 남아있는 유일한 파일이면 전체 디렉토리를 삭제하는 것이 좋습니다. 명령 프롬프트에서 시도 rd /s directoryname 쓸어 것이를 directoryname하고 그 안에있는 모든 파일 / 서브 디렉토리, 그래서 :)주의와 함께 사용
bitsmack

답변:


353

당신이 창문에 있다고 가정 :

내가 항상하는 일은 subst 를 사용하여 경로의 일부와 드라이브 문자 연결을 만드는 것입니다.

그런 다음 새 드라이브 문자로 이동하여 이름이 긴 파일로 이동하십시오. 이제 이름을 바꾸거나 삭제할 수 있습니다. 이것이 작동하는 이유는 경로 자체에 더 이상 255자를 포함하지 않기 때문입니다.

하위 폴더를 만들려면

  1. 명령 프롬프트 시작 (관리자 권한 필요 없음)
  2. cd이동하려는 폴더를 탐색하는 데 사용 합니다 ( tab이름을 자동 완성 하는 데 사용할 수 있음)
  3. subst j: .드라이브 문자 연결을 작성하려면 입력 하십시오. (대신에 전체 경로를 입력 할 수도 있습니다)
  4. 이제 탐색기 에서이 PC 에 새 드라이브 문자가 있습니다. 그것으로 가서 .cache 파일에 필요한 모든 것을하십시오.
  5. cmd 창으로 돌아가서 subst /d j:드라이브를 제거 하거나을 입력 하여 PC를 다시 시작하십시오.

편집 : 내가 이것을 조금 단축 할 수있는 트릭. 문제가있는 탐색기 창에서 주소 표시 줄을 클릭하여 입력 한 다음 키 cmd를 눌러 Enter해당 위치에서 명령 프롬프트를 시작한 다음 3 단계로 진행하십시오. :)

EDIT2 : 좋아,이 트릭은 더 확장 될 수 있습니다. 올바른 경로의 탐색기에 subst j: .있는 경우 주소 표시 줄에 입력하고 Enter 키를 누르십시오. 명령 창이 나타나고 명령을 실행 한 후 다시 닫습니다. 그러면 탐색기에 새 드라이브가 나타납니다.


26
ROBOCOPY empty_dir의 base_nested_dir / 퍼지 - 그냥 빈 디렉토리를 만들고, 빈 디렉토리에없는 대상 디렉토리에 모든 것을 제거하기 위해 ROBOCOPY에게 stackoverflow.com/a/3320317/588759
rofrol

7
그냥 이것을 시도하고 문제의 파일을 제거 할 수 없습니다 .. windows와 함께 cygwin을 사용하는 다른 해결책은 파일을 그런 식으로 제거하는 것입니다 : rm -R / path / in / question 다른 프로그램이 파일을 사용하지 않는 한 잘
John

1
SUBST가 J :를 매개 변수로 인식하지 못하는 문제가 있었기 때문에 (사용 가능한 가상 드라이브도 보지 못했습니다) John이 언급 한 cygwin 옵션이 잘 작동했습니다.
Tisch

1
@rofrol, 당신은 당신의 ROBOCOPY 주석 답을해야한다 : 그것은 (에서 만든 그 같은 자식 디렉토리를 많이 다룰 때 이름이 접근 디렉토리하는 것보다 훨씬 쉽다 node_modules)
앤디 브라운

1
John의 솔루션은 나를 위해 매우 효과적이었습니다. 방금 -f (force parameter)를 추가했습니다. rm -R -f / pathToDelete
Christophe Keller

67

귀하의 질문은 파일 이름 자체가 너무 길 때 파일을 삭제하는 방법을 묻습니다. 파일 이름 자체가 아닌 경로가 너무 길면 폴더 이름을 쉽게 바꾸어 경로를 짧게 만들 수 있습니다.

그러나 이름이 255자를 초과하는 파일을 삭제하려면 다음을 수행하십시오.

  • "CMD.EXE"를 실행하여 명령 프롬프트를 엽니 다.
  • 파일이있는 폴더로 이동
  • DIR / X 명령을 사용하면 짧은 파일 이름이 표시됩니다.
  • 짧은 이름을 사용하여 삭제하십시오.

즉, 파일 이름이 "verylongfilename.fil"인 경우 짧은 이름은 "verylo ~ 1.fil"과 같이 표시되며 해당 이름을 사용하여 삭제할 수 있습니다.

Windows 자체는 255자를 초과하는 경로를 처리 할 수 ​​있지만 Windows 탐색기와 같은 대부분의 GUI는 더 짧은 한계에 의해 제한됩니다.


16
이것은 받아 들여지는 것보다 더 나은 대답입니다.
Ben

3
그 방법으로 전체 폴더를 삭제할 수 있기 때문에 선택 대답은 더 나은
mcont

2
그러나 Windows 7에서는 DIR / x가 전혀 표시를 변경하지 않는 것 같습니다 ... :(
gumuruh

3
일부 NTFS 파일 시스템에는 8.3 파일이 없습니다. 그래서 이것은 항상 더 이상 작동하지 않습니다.
Ross Presser

CMD의 Del / S는 8에 큰 이름으로도 나를 위해 일했습니다.
Jeff

4

Googled : 긴 파일 이름 삭제 첫 번째 결과

Unlocker 사용 http://www.filehippo.com/download_unlocker/

폴더를 삭제할 수 없습니다 : 다른 사람이나 프로그램에서 사용하고 있습니다. 파일을 삭제할 수 없습니다 : 액세스가 거부되었습니다 공유 위반이 있습니다. 소스 또는 대상 파일이 사용 중일 수 있습니다. 다른 프로그램이나 사용자가 파일을 사용하고 있습니다. 디스크가 꽉 찼거나 쓰기 방지되어 있지 않고 파일이 현재 사용 중이 아닌지 확인하십시오.

언락 커가 도와드립니다! 폴더 나 파일을 마우스 오른쪽 버튼으로 클릭하고 잠금 해제를 선택하십시오. 폴더 나 파일이 잠겨 있으면 사물함의 목록이 나타납니다. 모두 잠금 해제를 클릭하면 완료됩니다.


1
나는 그것을 보았지만 차단 해제가 사용하기에 안전한지 알지 못했기 때문에 무시해 보았습니다. 편집 : 작동하지 않았습니다. 다른 파일에서는 작동하지만 차단 해제는 드롭 다운에 나타나지 않습니다.
Chris

완료하는 데 재부팅이 필요할 수 있지만 확실히 가장 간단한 방법입니다. Unlocker에는 전혀 문제가 없습니다. 몇 년 동안 사용해 왔으며 매우 유용한 유틸리티입니다. 경로가 너무 긴 파일 또는 폴더의 경우 잠금 핸들이 없지만 나중에 드롭 다운에 삭제 옵션을 제공해야합니다.
Steve Pettifer

1
완벽하게 작동했습니다. 재미있는 것은이 소프트웨어를 설치했지만이 상황에서 사용하지 않았습니다.
다니엘 Sokolowski

순환 접합 폴더를 복사 한 다른 폴더에서는 작동하지 않았지만 각 레벨 폴더의 이름을 한 문자로 바꾸고 1삭제하는 것이 효과가있었습니다.
다니엘 Sokolowski

이것은 나를 위해 일한 유일한 대답이었습니다 (Windows 10을 사용하고 있습니다). 대단히 감사합니다!
user26832

4

Microsoft는 삭제할 수없는 파일을 삭제 하는 데 유용한 기술 자료 문서를 제공합니다 . 원인 # 4는 당신과 관련이 있습니다.

가장 좋은 방법은 파일이있는 폴더 (드라이브 # 3)에 드라이브를 매핑 한 다음 해당 드라이브를 통해 입력하고 삭제하는 것입니다.


1
전에는 네트워크 드라이브를 내 하드 드라이브의 위치에 "맵핑"할 수 있다는 것을 깨달았습니다. 이것이 Windows 탐색기에서 수행 한 작업입니다. 드라이브로 이동 한 후 폴더 및 내용을 쉽게 삭제할 수 있습니다. 위에 표시된 콘솔 솔루션과 동일한 원칙이지만 이것은 더 쉬운 GUI 솔루션입니다.
RandomHandle
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.