Windows 7에서 배치 파일을 통해 디렉토리 트리를 어떻게 삭제합니까? 삭제하지만 폴더

배치 파일을 통해 Windows 7에서 지정된 폴더의 전체 내용을 삭제하고 싶습니다. 내 문제는 ‘del’또는 ‘erase’는 폴더가 아닌 파일 만 삭제하고 ‘rmdir’또는 ‘rd’는 항상 내용이있는 지정된 폴더를 삭제하지만 폴더 자체가 아닌 내용 만 삭제하고 싶습니다. . rmdir /S /Q "C:\Share\*"구문 오류가 발생한 ‘ ‘ 명령을 시도했습니다 .

이를 수행하는 올바른 방법은 무엇입니까?

Windows 7 Professional 64 비트에서 작업 중이며 관리자 권한이 있습니다.



답변

배치 파일은 두 개의 명령을 실행해야합니다. 하나는 파일을 지우고 다른 하나는 하위 디렉토리를 제거합니다. 제거하려는 디렉토리가 있다고 가정했습니다.C:\Share\

배치 파일은 다음과 같아야합니다.

del /s /f /q c:\share\*.*
for /f %%f in ('dir /ad /b c:\share\') do rd /s /q c:\share\%%f

del /s /f /q 확인 메시지를 표시하지 않고 모든 파일 (읽기 전용 파일)을 삭제하는 디렉토리 트리를 재귀 적으로 검색합니다.

두 번째 줄은 모든 하위 디렉토리 (이제 비어 있어야 함)를 반복하여 제거합니다.

전체 폴더를 삭제하고 다시 만드는 것 (권한으로 인해 원하지 않는 것 같습니까?)이 폴더를 정리하는 가장 쉬운 방법입니다.


답변

rmdir /s/q C:\Share

rmdir와일드 카드가 아닌 전체 이름 만 허용 하므로 “구문 오류”가 발생 합니다. ( cmd.exe에서 와일드 카드 확장은 개별 프로그램에 맡겨져 있지만 모두는 아닙니다.)

로 시작하는 디렉토리가 많은 경우 루프를 Share...사용하십시오 for.

for /d %f in (C:\Share*) do rmdir /s/q "%f"


답변

명령 프롬프트에서 다음을 시도하십시오.

rd /s/q "C:\Share"


답변

이건 어떤가요 ?

rmdir /S /Q "target"
mkdir "target

편집 : 물론이 솔루션은 일시적인 폴더 부재를 견딜 수있는 경우에만 적용됩니다.


답변

for /f "delims=" %%f in ('dir /ad /b c:\share\') do rd /s /q c:\share\%%f

하위 디렉토리에 공백이 포함 된 다른 디렉토리가 포함 된 경우에는 작동하지 않습니다.

이 작업을 수행하려면 다음과 같이 최종 문자열을 인용해야했습니다.

/ f "delims ="%% f ( 'dir / ad / bc : \ share \')의 경우 rd / s / q "c : \ share \ %% f"

분명히 이것은 명령 자체가 문자열 자체 대신 인용 된 문자열에서 작동하게합니다.


답변

모든 하위 폴더를 삭제해야하지만 루트 (및 루트의 파일)는 그대로 남아있는 폴더 에서이 작업을 시도합니다.

/ D는 디렉토리와 일치하고 rd / s / q는 한 번에 하나씩 삭제합니다.


답변

간단히:

rmdir / s / q “경로”

mkdir “경로”