일반적인 삭제를 위해 경로 / 이름이 너무 긴 디렉토리를 삭제하는 방법


380

Windows는 삭제하려고 할 때 파일 이름에 길이 제한이있는 것으로 보이지만 해당 파일을 만들 수는 없습니다.

우리의 빌드 프로세스는이 제한을 무시하고 실행되는 많은 임시 파일 (WSDL로 빌드)을 만듭니다. 우리 개미 스크립트는 정리를 할 때 어떻게 든 삭제할 수 있지만 때로는 개미를 완전히 정리하지 않고 workarea 디렉토리 (모든 임시 파일이있는 곳)를 삭제해야 할 때가 있습니다.

이것은 이 질문 과 같은 오류 이지만 파일이 아닌 디렉토리를 처리 할 때 실제로 응답하지는 않으며 특정 파일이나 하위 디렉토리가 문제를 일으키는 원인을 항상 알지 못합니다. 그리고 수동 프로세스 (단일 명령 트리거 제외)를 실제로 삭제하는 것을 피하려고합니다.

탐색기에서 디렉토리를 삭제하려고하면 오류가 발생합니다.

Cannot delete [file name]: The file name you specified is not valid or too long.  
Specify a different file name

Remove-Itempowershell을 시도 하면 다음 오류가 발생합니다.

Remove-Item : The specified path, file name, or both are too long. The fully qualified file name must be less than 260 characters, and the directory name must be less than 248 characters.
At line:1 char:12
+ Remove-Item  <<<< -force -Recurse <directory>

누구나 문제 파일을 수동으로 찾아 이동하거나 이름을 바꾸지 않고도이 삭제 오류를 해결할 수있는 도구 또는 쉬운 방법을 알고 있습니까?


2
이 질문을 게시하기 직전에 해결책을 찾았지만 다른 사람들 이이 문제를 겪을 수 있기 때문에 내가 찾은 솔루션을 찾을 수 있도록 게시하기로 결정했습니다.
Herms

나는 알고 있지만, 일반적으로 이와 같은 일을 할 때 다른 사람이 더 나은 솔루션을 가지고 있는지 알기 위해 잠시 동안 "답변하지 않은"질문을 남깁니다.
Herms

으로 멀리 : 가장 간단한 해결책 youtube.com/watch?v=qQTyTprFAOg
TAW

사용 Ubuntu또는 기타를 Linux Bootable CD우리는 우리의 컴퓨터를 부팅 할 수 Ubuntu또는 temporary.then에 대한 다른 OS가 우리가 폴더를 선택하고 우리가 쉽게 삭제할 수 있습니다.
Kelum Priyadarshane

1
이 오래된 질문에는 흥미로운 답변들도 있습니다 : superuser.com/questions/45697/…
AdamV

답변:


421

사용 7 우편 을 삭제하는 파일 관리자.

여전히 문제가 발생 하면 7-Zip 파일 관리자에서 Shift+ 를 사용 Delete하십시오. 그렇지 않으면 Windows가 휴지통으로 이동하려고 시도합니다 (다시 실패).


5
고마워-이것은 약간 재귀가되었고 del / rmdir / rm / explorer가 제거하기에는 너무 깊은 dir tree를 제거했습니다
Martin Beckett

63
shift + Del을 사용하여 훌륭하게 작동했습니다. 7zip은 경로가 긴 파일을 휴지통으로 보낼 수 없었습니다 ...
cori

66
7zip +1 폴더로 이동해야하며 shift + Del@cori와 같이 사용 합니다. Delete상황에 맞는 메뉴에서 옵션 을 선택하면 실패합니다. shift + Del그것!
우르 다

8
7zip은 win7 64에서 작동하지 않으므로 Linux가 작동했습니다.
Erik Friesen

13
7zip을 사용하면 긴 중첩 폴더가 들어있는 폴더를 삭제할 수도 있기 때문에 이것을 찬성했습니다. 많은 수의 중첩 된 폴더가 포함 된 node_module 폴더에 문제가 있었으며 제거 할 수 없었습니다. 7zip은 기본 폴더에서 완벽하게 고정됩니다. +1
Gruber

310

여기에 다른 (무료) 답변 중 어느 것도 나를 위해 일하지 않았지만 다른 사이트에서 하나를 찾았습니다.

rimraf <dir>

rimrafNode.js 패키지이므로 npm 이 포함 된 Node.js를 설치해야합니다 . 그런 다음 다음을 실행할 수 있습니다.

npm install -g rimraf

그런 다음 rimraf명령 행에서 실행할 수 있습니다 .

npm 자체가 종속성을 중첩시키는 방식으로 인해이 문제를 일으켰 기 때문에이 솔루션을 찾았습니다.

그건 그렇고, 파일과 폴더를 재귀 적으로 삭제 rimraf하는 UNIX 명령에서 이름을 가져옵니다 rm -rf.


7
여러 가지 방법을 시도했습니다. 이것은 완벽하게 작동합니다!
Duckegg

2
모든 것의 가장 좋은 대답 :) 그렇습니다 쉬운 쉬운
Al-Mothafar

2
이것이 정답입니다.
NINCOMPOOP

13
귀하의 솔루션은 작동하지만 이것은 f ## k-up이므로 노드 js 모듈 폴더를 삭제하기 위해 노드 js 모듈을 사용해야합니다 ... 더 이상이 행성에서 살고 싶지 않습니다
Benoit P

4
노드는 처음에는 문제를 만들었습니다. 흥미 롭습니다. 그들도 해결책을 가지고 있습니다.
Eric J.

141

이 문제를 해결하기 위해 프로그램을 설치할 필요없습니다 .

이 문제는 robocopy2006 년에 시작된 Windows Vista 이후에 사전 설치되어 쉽게 해결됩니다 .

예를 들어, rmdir /S /Q <dir>어떤 경우에는 실패한 것으로보고되었습니다. 7zip 또는 기타 타사 도구를 사용할 필요가 없습니다. Powershell은 과잉입니다. Cygwin은 작동하지만 설치하지 않았을 수 있습니다. 자, 집중하자robocopy

아이디어는

  1. 사용 robocopy+ 업데이트 복사
  2. A로부터 새로운 빈 폴더
  3. 삭제하려는 폴더, 대상으로.

를 실행 robocopy하면 대상 디렉토리도 비어 있습니다.

이 지시 사항은 명령 행에 대한 것입니다. Windows에서 검색을 열고 입력 cmd하고 Enter를 누르십시오.

의가 있다고 가정 해 봅시다 대상을 삭제이기 때문이다 :

C:\delete\this folder\with a very long name

다음과 같이 진행합니다 :

  1. 먼저 빈 디렉토리 fi를 작성하십시오 C:\emptyfolder.

    mkdir C:\emptyfolder
    
  2. 옵션을 사용하여 빈 디렉토리에서 대상으로 복사 + 업데이트 /purge

    robocopy c:\emptyfolder "C:\delete\this folder\with a very long name" /purge
    
  3. 빈 디렉토리를 삭제하십시오. 더 이상 필요하지 않습니다.

    rmdir c:\emptyfolder
    

소스 디렉토리 ( C:\emptyfolder) 에 파일이나 폴더가 없으므로 대상 디렉토리 ( C:\delete\this folder\with a very long name) 아래의 파일과 폴더를 재귀 적으로 삭제합니다 .

  • 마지막 요령 : 손으로 직접 쓰지 않아도됩니다

    C:\delete\this folder\with a very long name
    

    탐색기 창에서 폴더를 끌어 터미널 / cmd 창에 놓습니다.

주의 : 삭제 된 파일 은 휴지통 폴더 로 이동하지 않습니다 ! 삭제 된 파일은 복구 할 수 없습니다.

( BVLANGEN의 "경로가 너무 깁니다. Robocopy 사용"에서 가져옴 )

추신 : 나는이 대답이 덜 교훈적이라는 것을 알고 있습니다. 파일 이름이 너무 긴 Windows에서 파일을 삭제하는 방법은 무엇입니까? [복제]

Benoit 님이 추가했습니다 :

모든 파일을 제거하려면이 프로세스를 두 번 이상 수행해야 할 수도 있습니다.


11
감사합니다 좋은 선생님 !! 다른 모든 도구가 작동하지 않거나 타사 도구가 필요 했기 때문에 이것이 정답 입니다. :)
MickyD

이것은 완벽하게 작동합니다 ... 내가 아는 한 아무것도 설치할 필요가 없으며 빠릅니다. 이것이 정답입니다!
ksumarine

1
이렇게하면 디렉토리 트리의 일부 (또는 전체)가 "c : \ deletefolder"(대상 디렉토리)에 유지됩니다. 어쨌든, 나를 위해 깜박이는 모든 것을 삭제했습니다 (파일이 작다고 생각합니다). 수동으로 <Del> "c : \ deletefolder"를 실행해야했습니다. 자식 디렉토리는 문제없이 제거되었습니다. 매력처럼 일했다. +1, 허용되는 답변이어야합니다! :)
rld.

@rld이지만 "deletefolder"가 전에 존재 했습니까? 그렇지 않으면 새 디렉토리라면 비어 있어야한다고 생각합니다. 그렇지 않으면 엉망입니다. "rmdir deletefolder"에 대한 마지막 단계를 추가 할 수 있습니다.
hectorpal

1
매우 재귀적인 디렉토리를 처리 할 때이 옵션은 7zip보다 훨씬 느립니다. 20 분을 기다린 후에는 벤치 마크를하고 7zip을 깨달았지만 진행 상황이 50 배 빠르게 실행되고 있음을 보여주지는 않았습니다.
Andy Gauge

84

에서 항목을 삭제하는 방법을 찾았습니다 cmd. 원래 del명령을 시도했지만 작동하지 않았습니다. 그때 나는 기억했다 rmdir. 다음을 수행하십시오.

rmdir /S /Q <dir>

일한 것 같습니다.


105
나를 위해 작동하지 않았다. :(
Andrew Arnott

rmdir을 실행하기 전에 cmd를 삭제하십시오.
brianpeiris

8
이 솔루션을 사용할 수없는 사람들을 위해 나에게 도움이되는 대체 솔루션이 있습니다 (너무 긴 경로 / 파일 이름 사용). 파일 / 디렉토리를 C : \로 이동하여 경로를 줄인 다음 삭제하십시오.
Anders Sandberg Nordbø

6
이 솔루션이 작동하지 않고 7-Zip이 삭제할 수있는 디렉토리를 가질 수 있습니다. 방금 나에게 이런 일이 일어났다.
SamStephens

2
이 솔루션은 일관되지 않은 결과를 얻고 있습니다. 투표하지 마십시오.
hectorpal

29

이 문제가 발생했을 때 사용한 도구는 FastCopy 였습니다. 드롭 다운에서 모두 삭제를 선택하고 삭제 하려는 디렉토리를 선택한 다음 모두 삭제를 클릭했습니다 .

FastCopy 삭제 대화 상자 스크린 샷

FastCopy는 이식 가능하며 (설치가 필요하지 않음) 사용 가능한 32 비트 및 64 비트 버전이 있습니다.


3
커맨드 라인 도구를 찾고 있다면 GitHub에 게시 한 작은 도구 ( github.com/epsitec/Tools-RecursiveDelete )를 사용할 수 있습니다 .
Pierre Arnaud

재귀 적으로 생성 된 중첩 파일 / 폴더 세트가 있습니다. 이것이 유일한 해결책이었습니다
Pierluigi

2
이것은 커맨드 라인에 실패하고 7zip 시도가 실패했을 때 나를 위해 일했습니다. 심지어 Microsoft 지원조차도 막혔습니다!
키트 라모스

여기서도 동일합니다-7zip으로 파일을 삭제하기 시작했지만 매우 이상하게 행동했으며 실제로 디렉토리를 삭제하기 위해 각 디렉토리를 여러 번 연속으로 Shift + Delete해야했지만이 도구를 사용해 보니 매력처럼 작동했습니다. . 모든 파일을 제거하기 위해 두 번 시작했습니다. 감사!
Artanis

감사합니다. 유일하게 작동하는 솔루션 인 GREAT !!!!
tim

26

추가 소프트웨어를 설치하지 않고 subst명령을 사용 하여 긴 이름의 디렉토리에 임시로 별명을 작성할 수 있습니다 .

예를 들어 폴더를 삭제 C:\Very long directory\that exceed\length limit\blah blah blah\abcde\folder to be deleted하려면 다음 명령을 사용할 수 있습니다

subst x: "C:\Very long directory\that exceed\length limit\blah blah blah\abcde"

그런 다음 X:\folder to be deletedWindows 탐색기 또는 명령 프롬프트에서 쉽게 삭제할 수 있습니다. 임시 드라이브 문자 별명을 제거하려면 다음 명령을 사용하십시오.

subst x: /d

나는 다른 모든 답변 (다른 유사한 질문의 답변 포함)을 시도했으며 이것이 나를 위해 일한 유일한 사람이었습니다. 그리고 그것은 가장 빠르다.
glenneroo

1
이것은 가장 좋은 대답입니다. 단순하고 내장 된 기능이며 레지스트리와 혼동되지 않습니다. 허용되는 답변이어야합니다.
Kevin Roche

가장 깨끗하고 가장 쉬운 방법은 Kenneth입니다.
세스

음, 실제로 X : 드라이브가 있기 때문에이 대답이 무섭습니다. 여기에 정보가 충분하지 않으며 사람들이 추가 설명없이 이것을 따르는 것을 권장하지 않습니다.
qodeninja

25

Cygwin의 rm -rf긴 경로에서 잘 작동합니다!


3
Cygwin은 나를 위해 완벽하게 일했습니다! 방금 -rm -rf를 수행하고 모든 파일이 삭제되었습니다.
Ranhiru Jude Cooray

3
GNU bash, 버전 4.1.10 (4)
릴리즈

2
Git Bash 명령 창에서 실행할 때 훌륭하게 작동했습니다. 나는 그것을 위해 GitGui를 설치했다.

22

아래를 실행하여 Powershell에서 명령으로 넘어가십시오.

Cmd /C "rmdir /S /Q <dir>" 

3
"디렉토리가 비어 있지 않습니다". 죄송합니다. OP가 비어 있지 않은 폴더를 삭제하려고합니다.
leye0

이것은 @herms의 답변과 어떻게 다릅니 까?
bigbadmouse

18

Dentrasi의 솔루션 은 나에게 가장 효과적이지만 특정 단계를 최상위 답변에 게시하고 싶었습니다.

  1. 안정적인 최신 7zip 빌드를 다운로드하여 설치하십시오 .
  2. 7zip 파일 관리자 ( 7zfm.exe )를 실행하십시오 .
  3. 7zip 파일 관리자에서 삭제하려는 폴더의 이름을 볼 수 있도록 탐색하십시오 (예 : 상위 폴더에 있음).
  4. Shift 버튼을 누르고 있습니다.
  5. 키보드 또는 7zip 파일 관리자 도구 모음에서 " 삭제 "단추를 클릭하십시오 . 여전히 Shift 키를 누르고 있는지 확인하십시오 .
  6. " 확인 "버튼을 클릭하십시오 . 여전히 Shift 키를 누르고 있는지 확인하십시오 .

시도했지만 여전히 10의 k 's 재귀 폴더로 작동하지 않았습니다. 림 라프 만이 일했다.
Julian Knight

@ JulianKnight : 예,이 접근법은 100 % 나에게도 효과가 없었습니다. 더 간단한 프로세스 중 하나이기 때문에 언급하고 싶었습니다. 적어도 일부 시간 동안 작동했습니다. 내가 100 % 효과를 보인 유일한 것은 Powershell + NTFSSecurity 모듈 스크립트 접근 방식이며 아래에서 설명합니다. IIRC rimraf가 불렸을 때 실패했습니다. 이것은 처음 에이 혼란에 빠졌습니다. 자세한 내용은이 Node.js 스레드를 참조하십시오. github.com/nodejs/node-v0.x-archive/issues/…
Mass Dot Net

예, 항상 그런 문제가 있습니다. 실제로 (Java)에서 나를 수행 한 Arduino IDE의 라이브러리 설치 코드였습니다. 라이브러리를 포함하는 폴더를 실수로 라이브러리를 설치하는 폴더로 선택했습니다. 내가 깨달았지만 이미 10의 k 폴더를 가지고 있었을 때 프로세스를 종료했습니다 (i7 / SSD를 망쳤습니다!) NPM의 다음 주요 릴리스는 종속성이 충족되어야하는 노드에 대한 많은 라이브러리 설치 문제를 해결하는 데 도움이됩니다. 훨씬 더 평평한 구조. 아직도 나는 누군가가 rimraf에 나를 데려 갔을 때 정말 기쁘다.
Julian Knight

@JulianKnight-하루나 이틀 전에 누군가 npm3이 깊이 중첩 된 종속성 폴더 구조를 방지하여 이러한 문제를 완화하는 데 도움이되어야한다고 말했습니다.
Mass Dot Net

그것이 "예방"되는지 알지 못하지만 중첩 된 종속성을보다 현명하게 처리하여 기본 응용 프로그램에 라이브러리 X v1.0이 필요하고 라이브러리 Y에 Z가 필요하며 X v1.0이 필요한 Z가 필요한 경우 최상위 라이브러리가 사용됩니다. 현재 Z는 자체 버전의 X를 설치합니다.
Julian Knight

11

기존 답변에 아직 언급되지 않은 두 가지가 있습니다.

  1. 확장 길이 경로 접 두부를 사용하여 긴 경로에 액세스 할 수 있습니다.
  2. Windows 10을 사용하면 일반적인 용도로 긴 경로를 지원할 수 있습니다. 그러나 모든 응용 프로그램이 긴 경로에서 작동하지는 않으므로 이전 소프트웨어를 테스트해야합니다. 적절한 매니페스트 항목이있는 소프트웨어 만이 기능을 사용할 수 있습니다.

긴 경로 접두사

Windows API에는 최대 32k 자 길이의 유니 코드 경로 이름을 지원하는 특수 기능이 있습니다 (각 요소의 길이는 최대 255 자).

이것은 종종 실수로 UNC 이름 지정이라고하지만 관련이있는 것은 아닙니다.

긴 유니 코드 경로를 사용하도록 API에 알리는 데 사용되는 접두사는 다음 \\?\과 같습니다.

\\?\D:\very long path

UNC 이름은 일반적으로 원격 서버의 경로를 형식으로 참조 할 때 사용됩니다 \\servername\path name\file name. 이것을 긴 경로 접두사와 결합하여 다음과 같이 할 수 있습니다.\\?\UNC\server\share

잘못 작성되었지만 슬프게도 매우 일반적인 일부 응용 프로그램은 UNC 파일 경로 나 긴 경로 접두사를 지원하지 않습니다.

참조 : https://msdn.microsoft.com/en-gb/library/windows/desktop/aa365247(v=vs.85).aspx#maxpath

긴 경로 지원

이 옵션은 최신 버전의 Windows 10에 추가 된 옵션입니다. 작성시 특정 응용 프로그램 지원이 필요하므로 기본적으로 활성화되지 않습니다. 흥미롭게도 PowerShell은 기본 제공 기능을 지원하므로이 옵션을 사용하면 긴 경로를 PowerShell 스크립트에서 직접 사용할 수 있습니다.

Windows 버전이있는 경우 그룹 정책 편집기를 통해 활성화 할 수 있습니다. 또는 단순히 다음 레지스트리 변경을 사용할 수 있습니다. 항상 그렇듯이 변경하기 전에 레지스트리 섹션을 백업하십시오.

  1. 를 실행하십시오 regedit.exe.
  2. UAC 프롬프트를 확인하십시오.
  3. 키로 이동하십시오. HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Group Policy Objects\{48981759-12F2-42A6-A048-028B3973495F}Machine\System\CurrentControlSet\Policies
  4. 키를 만들거나 변경하십시오 LongPathsEnabled.
  5. 존재하지 않는 경우 정책을 마우스 오른쪽 단추로 클릭하고 메뉴에서 새로 작성> Dword (32 비트) 값을 선택하십시오.
  6. 설정 LongPathsEnabled1사용 가능합니다.

적절한 매니페스트 항목이있는 응용 프로그램은 이제 POSIX 표준 긴 경로에 액세스 할 수 있습니다. 여기에는 Windows 스토어 앱이 포함되어야합니다.

참조 : https://blogs.msdn.microsoft.com/jeremykuhne/2016/07/30/net-4-6-2-and-long-paths-on-windows-10/

2017-04-09 업데이트

@maoizm은 위의 레지스트리 키에 문제가 있음을 지적하여 좀 더 파고 들었습니다 . 시스템 키를 사용하여 긴 파일 이름 지원을 설정할 수있는 것 같습니다.

HKLM\SYSTEM\CurrentControlSet\Control\FileSystem LongPathsEnabled (Type: REG_DWORD)

이것은 여전히 ​​그것을 사용하도록 특별히 설정된 응용 프로그램에서만 작동합니다 (응용 프로그램의 manifest.xml에 항목이 필요함).

이 방법에서는 상대 경로 이름을 사용할 수 없습니다.


{48981759-12F2-42A6-A048-028B3973495F}Machine레지스트리 경로의 일부는 컴퓨터마다 다를 수 있습니다. 모든 사람에게 분명하지 않을 수도 있습니다.
maoizm

1
@maoizm-좋은 지적입니다. 강조해 주셔서 감사합니다. W10 Anniversary 업데이트 이상을 사용하는 경우 대안을 보려면 내 업데이트를 참조하십시오.
Julian Knight

FoundationIO라는 라이브러리를 작성 중이며 긴 경로를 기본값으로 설정하려고하는데 라이브러리의 모든 사용자가 자동으로 긴 경로를 지원하도록 호출 할 수있는 기능이나 매크로가 있습니까?
MarcusJ

마커스 안녕하세요, 이것이 기본 Windows 라이브러리입니까? 그렇다면 .NET은 관련 Windows API의 일부로 이미 필요한 지원을 제공합니다. .NET 또는 Win API 프로그래머가 아니기 때문에 세부 정보를 모르지만 MSDN에서 세부 정보를 검색 할 수 있습니다.
Julian Knight

8

나는 cmd 솔루션을 좋아한다. 탐색기에서만 작동하는 다른 해결 방법을 공유하고 싶지만 삭제하기 전에 상위 폴더의 이름을 줄이십시오. 이름이 짧을수록 경로가 짧아집니다. 폴더의 트리 구조가 있다고 가정 해보십시오.

씨:\

.. 프로젝트

.. .. 2014 년 봄의 멋진 프로젝트

.. .. .. 금요일 도시의 공원에서 어떤 활동

.. .. .. .. Bla bla bla bla bla bla bla bla bla bla bla bla

이름이 긴 실제 파일도 .. .. .. .. ..

이 경우 폴더를 삭제할 수 없으며 파일을 삭제하거나 이름을 바꿀 수 없습니다. 전체 폴더 구조 또는 그 일부를 제거하려는 경우 일시적으로 상위 폴더의 이름을 바꾸고 경로를 줄인 다음 폴더를 제거 할 수 있습니다. 이름은 글자 일 수 있습니다.

씨:\

.. 프로젝트

.. .. x

.. .. .. y

.. .. .. z

이름이 긴 실제 파일도 .. .. .. .. ..

필자의 경우 많은 하위 폴더와 파일이있는 전체 폴더를 제거하고 싶었습니다. 따라서 폴더 이름은 신경 쓰지 않았습니다.


1
나는 그것을하는 작은 도구를 작성하여 GitHub에 올려 놓았습니다. github.com/epsitec/Tools-RecursiveDelete
Pierre Arnaud

1
모든 명령이나 Shift + DEL이 작동하지는 않지만 작동합니다.
larkee

10k k의 중첩 폴더가있는 경우 실제로 작동하지 않습니다.
Julian Knight

폴더 중 하나의 이름이 정말로 긴 경우에도 작동하지 않습니다 (해로운 폴더의 이름을 바꿀 수 없음).
aucuparia

7

7-zip 솔루션은 훌륭하게 작동합니다. git이 설치된 경우 다른 옵션은 bash 쉘을 열고 다음을 사용하는 것입니다.

rm -f

(또는 rm -rf폴더)


1
시작하지 않은 경우 Windows에서 "bash 쉘을 여는 방법 "을 설명 하십시오.
OMY

1
@OMY는 git이 설치되어 있어야합니다. 그런 다음 시작 메뉴에서 git bash를 열거 나 git을 설치할 때 셸 확장을 사용하기로 선택한 경우 또는 폴더를 마우스 오른쪽 단추로 클릭하고Git Bash Here
User

4

Total Commander (셰어웨어이지만 제안 기간이 최소 일 때만 시험 기간이 지나도 계속 작동 함)를 제안 합니다. 이것이 내가 너무 긴 파일 이름 문제를 해결하는 방법 입니다.


1
내가 찾은 주님 감사합니다. 디렉토리를 어리석게 중첩하기로 결정했기 때문에 node_modules 폴더를 삭제하는 데 문제가 있습니다.
Alias

글쎄, @Alias, Total Commander는 적어도 나에게 그 문제를 쉽게 감지 할 수있게합니다. 그러한 문제를 식별 한 후에 chkdsk는 해결해야합니다.
Sopalajo de Arrierez

버전 7.0이 작동하지 않으면 오류 메시지가 표시되고 관리자로서 작업을 수행하는 것이 좋습니다.
izogfif

@izogfif : 오늘 최신 버전은 8.52a입니다. 나는 이것을 시도 할 것입니다. 오류 메시지에 대한 세부 정보는 제공하지 않지만 "chkdsk c : / f"(드라이브 C :로 가정)를 사용하여 해결해야하는 아카이브 구조에 약간의 불일치가있을 수 있습니다 (NTFS의 경우).
Sopalajo de Arrierez

2

동등한 짧은 이름을 사용하여 삭제할 수도 있습니다. dir /x그들에게 보여줄 것입니다.


2

robocopy를 사용하여 파일을 삭제하는 간단한 Java 프로그램을 만들었습니다. 항아리는 실행 가능한 항아리입니다. 추가 출력을 얻으려면 cmd 라인에서 실행하십시오.

https://drive.google.com/file/d/0B5pSEjxJvt_1WVp1T3puSm1CNjg/view?usp=sharing


2
Java를 사용하지 않으려면 .NET을 사용하여 작성한이 도구 ( github.com/epsitec/Tools-RecursiveDelete ) 를 사용할 수 있습니다 .
Pierre Arnaud

@PierreArnaud 훌륭한 유틸리티. 커맨드 라인 자동화를 위해 이와 같은 것이 필요했습니다. @ CamHart 당신의 좋은 작품도! 고마워요!
amitthk

1

다른 모든 답변을 시도했지만 작동하지 않았습니다 (나에게 이상적).

나는 delinfile만났고 꽤 잘하고 꽤 빨리 일했습니다!

평가판은 3 작업 / 15 일로 제한되지만 몇 가지 폴더 / 파일 만 삭제하려는 경우 사용할 수 있습니다.


1

더 큰 디렉토리 도이 작업을 위해 설계되었습니다. 여기에 이미지 설명을 입력하십시오

  • 다운로드
  • RemoveDirectoryW와 함께 재귀 호출을 사용하여 기존 디렉토리를 삭제합니다.
  • 새로 작성된 디렉토리에 자체 파일 저장소를 사용합니다.
  • containsg 디렉토리를 삭제하기 전에 디렉토리에서 파일을 이동할 수 있습니다.
  • 디렉토리의 최상위로 이동하는 것은 중첩 된 디렉토리 당 클릭입니다.
  • Windows XP (SP3) 이상
  • 설치 프로그램없이 서명되지 않은 관리되지 않는 코드이므로 예비 폴더 (예 : 데스크톱)에서 실행할 때 스마트 스크린 경고가 발생할 수 있습니다.

CodeProject에 대한 추가 정보 .


소프트웨어 권장 방법에 대한 팁은 소프트웨어 권장 방법을 참조하십시오 . 최소한 링크, 소프트웨어 자체에 대한 추가 정보 및 문제의 문제를 해결하는 데 사용할 수있는 방법을 제공해야합니다.
DavidPostill

@David : 더 좋습니까? 링크는 매우 유용했습니다. 감사합니다.
Laurie Stearn

1

Windows 10 에서이 문제에 직면 하여이 쉬운 해결책을 찾았습니다.

  1. 폴더 트리의 조금 더 깊이 들어가십시오.
  2. 주소 표시 줄을 사용하여 트리의 중간에서 트리의 시작 부분으로 폴더를 끌어다 놓습니다.
  3. 내 이미지에서와 같이 빨간색 상자를 녹색 상자로 끌어서 놓습니다. (이 경우 경로는 짧지 만 긴 경로의 경우에도 작동합니다)
  4. 그런 다음 Delete 키를 사용하여 경로가 짧아지고 정상적으로 삭제됩니다.

여기에 이미지 설명을 입력하십시오


1

여기에 완벽한 답을 얻었습니다 (파일). Windows 10에서 작동합니다.

REM Make sure there is no \ at the end of either path!
robocopy "C:\...\...\...\long\path" "C:\DeleteMe" "FileName" /MOV
REM Note: this ^ can be called many times before...:

REM Finally, recursively delete the higher up DeleteMe directory.
rmdir /S /Q DeleteMe

참조 : https://msdn.microsoft.com/en-us/library/aa365247.aspx#maxpath

4 가지 질문에 대한 하나의 대안적인 대답만으로는 충분하지 않았습니다. 천만에요.


0

마침내 Powershell을 통해이 작업을 수행하는 방법을 찾았습니다. Windows 7에서이 작업을 수행하기 위해 따라야 할 지침은 다음과 같습니다.

  1. C : \ Users \ XXXX \ Documents \ WindowsPowerShell \ Modules \ NTFSSecurity 폴더에 NTFSSecurity 라는 새 폴더를 작성하십시오. 여기서 XXXX 는 Windows 사용자 이름입니다. 예 : 내 사용자 이름이 " aspnyc "인 경우 새 폴더는 C : \ Users \ aspnyc \ Documents \ WindowsPowerShell \ Modules \ NTFSSecurity 입니다.

  2. 파일 시스템 보안 PowerShell 모듈 패키지를 다운로드 하십시오. 간단한 ZIP 파일로 제공되어야합니다.

  3. Powershell 콘솔을 열고 Get-Module -ListAvailable을 실행 한 다음 NTFSSecurity 가 등록 된 모듈 목록에 나타나는지 확인하십시오 .
  4. Powershell 콘솔에서 Import-Module NTFSSecurity를 실행 하십시오 .
  5. Powershell 콘솔에서 Remove-Item2 "YYYY"-Recurse를 실행 하십시오 . 여기서 YYYY 는 재귀 적으로 삭제하려는 폴더의 Windows 경로입니다 (예 : C : \ Potatoes \ Badgers \ FolderToDelete ).

0

개별 파일 이름이 너무 긴 Windows 10에서 Powershell을 사용 하여이 작업을 수행하는 방법을 마침내 알았습니다. Windows 10에서이 작업을 수행하기 위해 수행 한 단계는 다음과 같습니다.

  1. 파일 시스템 보안 PowerShell 모듈 패키지를 다운로드 하십시오. 간단한 ZIP 파일로 제공되어야합니다.
  2. C : \ WINDOWS \ system32 \ WindowsPowerShell \ v1.0 \ Modules 디렉토리에서 Zip 파일을 NTFSSecurity 폴더로 추출하십시오.
  3. 관리 권한 상승 (일명 관리 모드)으로 Powershell 콘솔을 열고 Get-Module -ListAvailable을 실행 하고 등록 된 모듈 목록의 어딘가에 NTFSSecurity가 나타나는지 확인하십시오 .
  4. 실행 설정-ExecutionPolicy 무제한을 서명 된 실행 모드를 우회 할 수 있습니다. 이 작업을 Y (들)로 확인해야합니다
  5. 결국 삭제하려는 폴더로 cd하십시오.
  6. Powershell 콘솔에서 Import-Module NTFSSecurity를 실행 하십시오 .
  7. Powershell 콘솔에서 Remove-Item2 "YYYY"-Recurse를 실행 하십시오 . 여기서 YYYY 는 재귀 적으로 삭제하려는 폴더의 상대 또는 절대 Windows 경로입니다 (예 : C : \ Potatoes \ Badgers \ FolderToDelete ).
  8. 작동하는지 확인하십시오.
  9. 결국 Set-ExecutionPolicy Restricted를 사용하여 서명 된 실행 모드로 다시 설정 합니다. Y (es)로이 조치를 확인해야합니다.

0

Windows에 Ubuntu에 Bash가 설치되어 있으면 일반 명령 프롬프트에서 부모 디렉토리로 cd 한 후 다음을 입력하십시오.

bash -c "rm -rf dirname_here"

bash를 시작하면 파일 이름 제한이없는 Linux에서 디렉토리를 재귀 적으로 삭제 한 다음 일반 명령 프롬프트로 돌아갑니다.


당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.