Windows CMD에서 파일 또는 폴더를 재귀 적으로 삭제


135

명령 줄에서 Windows의 파일 또는 폴더를 재귀 적으로 삭제하려면 어떻게합니까?

우리가 경로를 명령 줄에서 운전 하고이 명령을 실행하는 곳 에서이 솔루션을 찾았습니다.

.svn 파일 확장자 폴더를 예로 들어 보겠습니다.

for /r %R in (.svn) do if exist %R (rd /s /q "%R")

"우리가 운전하는 경로" 는 무엇을 의미 합니까?
— Peter Mortensen

답변:


129

다음 단계를 수행하십시오.

  1. 명령 프롬프트를 엽니 다
  2. 디렉토리를 필요한 경로로 변경
  3. 다음 명령을 내리십시오

    del /S *.svn
    

4
나를 위해 작동하지 않으면 현재 디렉토리의 파일 만 삭제됩니다.
— delphirules

119

다른 답변은 저에게 효과가 없었지만 이것은 효과가있었습니다.

del /s /q *.svn
rmdir /s /q *.svn

/ q는 예 / 아니요 프롬프트를 비활성화합니다

/ s 는 모든 하위 디렉토리에서 파일을 삭제함을 의미합니다.


내 요구는 당신이하려는 것과 동일하다고 생각합니다. 프로젝트 디렉토리와 모든 하위 디렉토리의 모든 .svn 폴더를 삭제하려고합니다. Windows 2012에서는이 답변이 효과가 없습니다. 현재 디렉토리에서 .svn 폴더를 삭제하지만 하위 디렉토리에서는 삭제하지 않습니다.
— Jim

42

bat스크립트 에서 이것을 사용할 수 있습니다 :

rd /s /q "c:\folder a"

이제 c:\folder a폴더 위치로 변경 하십시오. 폴더 이름에 공백이있는 경우에만 인용이 필요합니다.


이 명령이 작동하지 않고 아래와 같이 오류가 발생합니다. D : \> rd / s / q "D : \ Root a"시스템이 지정된 파일을 찾을 수 없습니다.
— abhayk

5
디렉토리에 실제로 space a이름이 없다면, 그 부분을 제외하십시오.
— Jesse Chisholm

22
RMDIR path_to_folder /S

전의. RMDIR "C:\tmp" /S

"C : \ tmp"폴더를 실제로 삭제하려면 메시지가 표시됩니다. / Q 스위치를 결합하면 자동으로 폴더를 제거합니다 (예를. RMDIR "C:\tmp" /S /Q)


8

파일 삭제를 위해 다음과 같은 간단한 배치 파일을 작성하여 모든 .pdf를 재귀 적으로 삭제했습니다.

del /s /q "\\ad1pfrtg001\AppDev\ResultLogs\*.pdf"
del /s /q "\\ad1pfrtg001\Project\AppData\*.pdf"

로컬 디렉토리에서도 다음과 같이 사용할 수 있습니다.

del /s /q "C:\Project\*.pdf"

동일은 우리가 변경해야 할 디렉토리 삭제를 위해 적용 할 수있는 델을 함께 RMDIR .


4

특정 확장명을 재귀 적으로 삭제하려면 다음을 사용하십시오.

For /R "C:\Users\Desktop\saleh" %G IN (*.ppt) do del "%G"

3

당신은 또한 할 수 있습니다 :

del /s /p *.{your extension here}

는 /p당신이 안 뭔가를 삭제하는 방법에 대한 긴장이 있다면, 발견 된 각 파일에 대한 메시지를 표시합니다.


2

Windows rmdir 명령을 사용하십시오.

즉, rmdir / S / Q C : \ Temp

나는 또한 몇 년 동안 완벽하게 아래 것들을 사용하고 있습니다.

forfiles /?를 사용하여 다른 옵션을 확인하십시오 .

Windows 폴더에서 SQM / Telemetry를 재귀 적으로 삭제

forfiles /p %SYSTEMROOT%\system32\LogFiles /s /m *.* /d -1 /c "cmd /c del @file"

재귀 적으로 Windows TMP 파일 삭제

forfiles /p %SYSTEMROOT%\Temp /s /m *.* /d -1 /c "cmd /c del @file"

재귀 적으로 사용자 TEMP 파일 및 폴더 삭제

forfiles /p %TMP% /s /m *.* /d -1 /c "cmd /c del @file"


2

기본 명령으로 폴더를 완전히 지우고 수행 한 작업에 대한 로그를 가져옵니다.

특별한 방법은 다음과 같습니다.

d : \ temp 디렉토리를 지우고 싶다고 가정 해 봅시다.

mkdir d:\empty
robocopy /mir d:\empty d:\temp
rmdir d:\empty

이것은 내 문제를 해결 한 매우 영리한 솔루션입니다. 자체 참조 정션을 생각하지 않고 robocopy를 사용하여 AppData 디렉토리를 복사했습니다. 이것이 숨겨진 모든 파일을 재귀 적으로 제거 할 수있는 유일한 방법이었습니다. / xj를 잊지 마십시오!
— Chris Larabell

0

숨겨진 파일의 경우 다음을 사용해야했습니다.

DEL /S /Q /A:H Thumbs.db

시대에 뒤쳐진. Microsoft는 Windows XP를 더 이상 지원하지 않습니다.
— Mesalcode

백업 복원 (윈도우 10)에서 남은 .dcm 파일을 삭제하기 위해 이것을 사용해야했습니다.
— Gerald Murphy

0
dir /b %temp% >temp.list
for /f "delims=" %%a in (temp.list) do call rundll32.exe advpack.dll,DelNodeRunDLL32 "%temp%\%%a"
당사 사이트를 사용함과 동시에 당사의 쿠키 정책과 개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.