필자는 정기적으로 Node.js를 사용하여 내가 작성한 프로그램의 종속성을 관리합니다. 오늘 나는 다음과 같은 폴더 구조로 끝났습니다.
파일을 삭제하려는 중에이 오류가 발생했습니다.
소스 파일 이름이 파일 시스템이 지원하는 것보다 큽니다. 경로 이름이 짧은 위치로 이동하거나이 작업을 시도하기 전에 짧은 이름으로 이름을 바꾸십시오.
이미 C : \에 있었으므로 훨씬 짧아지지 않았습니다.
필자는 정기적으로 Node.js를 사용하여 내가 작성한 프로그램의 종속성을 관리합니다. 오늘 나는 다음과 같은 폴더 구조로 끝났습니다.
파일을 삭제하려는 중에이 오류가 발생했습니다.
소스 파일 이름이 파일 시스템이 지원하는 것보다 큽니다. 경로 이름이 짧은 위치로 이동하거나이 작업을 시도하기 전에 짧은 이름으로 이름을 바꾸십시오.
이미 C : \에 있었으므로 훨씬 짧아지지 않았습니다.
답변:
Microsoft 도구를 사용하십시오 robocopy.exe
.
c:\empty
그런 다음 빈 폴더를 삭제하려는 긴 파일 이름이 포함 된 폴더에 복사하십시오 (예 :) c:\myannoyingfolder
. 명령 프롬프트에서 다음과 같이하십시오 :
robocopy / MIR c : \ empty c : \ myannoyingfolder
자 D:\very\long\path
, 당신이 나무를 삭제하고 싶다고 가정 해 봅시다 . Robocopy와 같은 도구를 반드시 사용할 필요는 없습니다.
D:\a
D:\very\long\path
D:\a
이 기능을 Windows 셸에 통합 할 수 있습니다. Flo의 답변을 향상 시키기에는 너무 길었습니다.
Delete
Windows 컨텍스트 메뉴에 명령을 추가했습니다 .
delete.reg
파일과 폴더를 연결하는 레지스트리 항목을 추가 robodelete.bat
배치 파일.
delete.reg
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\Directory\shell\Delete]
[HKEY_CLASSES_ROOT\Directory\shell\Delete\command]
"Extended"=""
@="\"D:\\Documents\\robodelete.bat\" \"%1\""
robodelete.bat
mkdir c:\empty
robocopy /MIR c:\empty %1
rmdir %1
rmdir c:\empty
참고 : 기본 설정에 따라 두 파일의 경로를 변경해야 할 수도 있습니다.
경고 :이 명령을 취소 할 수있는 방법이 없습니다. 휴지통을 사용하지 않으며 폴더를 폐기하기 전에 Y / N에 확인을 요청하지 않습니다!
가장 좋은 방법은 robocopy를 사용하는 것입니다. 개인 블로그에 다음과 같이 기록했습니다.
http://clintboessen.blogspot.com.au/2014/05/how-to-delete-files-which-exceed-255.html
net use z: c:\path
del z:\*.*
그에 따라 조정하십시오. Z :는 문제를 일으키는 경로를 매핑하는 임의의 드라이브 문자입니다. 마지막 삭제 명령은 매핑 한 WHOLE 디렉토리를 삭제하므로 필요에 따라 더 구체적으로 지정하십시오.
나는 또한 같은 문제가 있었고, 스스로 그것을 발견했다. 간단히 부모 폴더의 이름을 가능한 한 적게 바꾸십시오. 전의. "우리의 폴더 경우 D는 "같은 드라이브 D : // 폴더 / Undelete_Folder을 . 유일하게해야 할 일은 부모 폴더 이름을 작게 바꾸는 것 입니다. 이름을 " a "로 바꿀 수 있습니다 . 그러면 귀하의 위치는 D : // a / Undelete_folde r입니다. 그런 다음 부모 폴더를 삭제하십시오.