Windows의 명령 줄에서 디렉토리를 재귀 적으로 삭제하는 방법은 무엇입니까?


답변:


342

deltree내 DOS를 기억한다면 .


업데이트 된 것 같습니다 ... 이것이 원하는 것입니다 :

RMDIR /S

C:\test프롬프트와 함께 디렉토리가 제거 됩니다.

rmdir c:\test /s

프롬프트없이 동일하게 수행됩니다.

rmdir c:\test /s /q

질문의 sudo 부분과 관련하여 더 많은 권한이 필요한 경우 먼저 runas다음과 같이 명령을 사용하여 다른 사용자 계정으로 새 쉘을 열 수 있습니다 .

runas /user:Administrator cmd
rmdir c:\test /s /q

1
@ FarmBoy, 사과, 내 추억이 너무 멀리 돌아가는 것 같습니다. Windows XP 이상에 대한 답변을 업데이트했습니다.
콜린 피커드

8
deltree는 오래된 DOS 명령입니다. 그것은 XP에서 제거 및 대체되었다rmdir /s
heavyd

3
/ s 플래그는 무엇을 의미합니까?
Mike R

어떤 이유로 Powershell에서이 작업을 수행하면 문제가 발생합니다. 따라서 Windows의 명령 줄을 사용하십시오.
DEVID

3
@MikeR, "하위 디렉토리"또는 무언가를 의미 할 수 있습니다. findstr동일한 매개 변수를 사용하므로 대소 문자에 더 적합하므로 일관성에있어 동일 할 수 있습니다.
Sam

57

RmDir이 건드리지 않고 탐색기조차 표시 할 수없는 길고 복잡한 폴더 구조를 명령 프롬프트에서 삭제하려면 robocopy가 구조를 제거하는 데 매우 효율적일 수 있습니다. 아래 예에서는 폴더 관리자 내부에 방대한 구조가 있으며 구조가 너무 깊어 제거 할 수 없습니다. "새 폴더"라는 빈 폴더를 새로 만듭니다. 그런 다음 robocopy 명령을 사용하여 소스 폴더가 "새 폴더"이고 / MIR 매개 변수가있는 대상 폴더가 "D : \ Administrator"임을 나타내며 소스 폴더에없는 항목은 제거합니다.

robocopy "D:\new folder" D:\Administrator /MIR

이 경우 폴더 경로가 너무 길어서 명령 프롬프트 창 Screen Buffer에 맞지 않았지만 Robocopy는 구조를 탐색하고 "추가"파일과 폴더 (즉, 새 빈 폴더에없는 모든 것)를 제거합니다. ).


11
이 방법은 경로가 250 자 이상의 홀수 문자 일 때 작동하는 유일한 솔루션입니다.
Calm Storm

10

Windows Vista +를 사용하는 경우 PowerShell에서 다음을 수행 할 수 있습니다.

rm C:\path\to\delete -r -f[orce]

6
Windows 10 -f은 모호 하다고 말합니다 . 그러나 당신은 실행할 수 있습니다rm -r -force <path>
BrunoLM

6

나를 위해, 작동하는 것은

del /s dir

/q확인을 비활성화하기 위해 추가 할 수 있습니다 . 나는 일을하지 못했습니다 rmdir(XP)


6
XP 사용을 중단해야합니다. 더 이상 지원되지 않습니다.
Eric Wilson

3
나에게 이것은 모든 파일을 재귀 적으로 제거하지만 디렉토리 자체를 삭제 dir하지는 않으며 제거되지도 않습니다.
sergiol

2

Java 프로그램 오류로 인해 실제로 경로가 너무 길면 robocopy조차도 그렇게 할 수 없습니다. 약 30 초 동안 내 길로 내려간 후 매달렸다.

내 해결책 : 전체 문제 경로를 한 폴더에서 다른 폴더로 옮길 수 있다면 상단에서 일부 디렉토리 계단을 반복적으로 반복적으로 잘라낼 수 있습니다.

이 배치는 leer와 leer2라는 두 디렉토리 사이에서 탁구를 재생하고 매번 8 개의 '라이브러리'를 잘라냅니다. 경로에 파일이 포함 된 경우 파일을 지우려면 명령을 추가해야합니다.

recurdel.cmd
:loop
move c:\leer\libraries\libraries\libraries\libraries\libraries\libraries\libraries\libraries c:\leer2
rd /S /Q c:\leer\libraries
move c:\leer2\libraries\libraries\libraries\libraries\libraries\libraries\libraries\libraries c:\leer
rd /S /Q c:\leer2\libraries
GOTO loop

2

CMD에서 RD / s C : \ path \ to \ delete를 실행하십시오. 프롬프트에서 Y를 누르십시오.

/ s는 모든 하위 디렉토리도 삭제되도록합니다.

명령 행에서 도움말 RD 실행


2
답변 주셔서 감사합니다. 그러나이 정보는 이미 허용 된 답변에 있습니다. ( rd그리고 rmdir동일합니다.) 아마도 거기에 대한 의견으로 적합 할 것입니다.
벤 N

0

프롬프트없이 "내 폴더"가 삭제됩니다.

rd /s /q "C:\Users\gourav.g\AppData\Roaming\my folder"
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.