답변:
배치 파일은 두 개의 명령을 실행해야합니다. 하나는 파일을 지우고 다른 하나는 하위 디렉토리를 제거합니다. 제거하려는 디렉토리가 있다고 가정했습니다.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
확인 메시지를 표시하지 않고 모든 파일 (읽기 전용 파일)을 삭제하는 디렉토리 트리를 재귀 적으로 검색합니다.
두 번째 줄은 모든 하위 디렉토리 (이제 비어 있어야 함)를 반복하여 제거합니다.
전체 폴더를 삭제하고 다시 만드는 것 (권한으로 인해 원하지 않는 것 같습니까?)이 폴더를 정리하는 가장 쉬운 방법입니다.
del
필요가 없습니다. rd/s/q
파일과 하위 폴더를 모두 삭제합니다.
del
루트 폴더의 모든 파일에 주로 사용되며 재귀 스위치를 제거 할 수 있습니다.
이건 어떤가요 ?
rmdir /S /Q "target"
mkdir "target
편집 : 물론이 솔루션은 일시적인 폴더 부재를 견딜 수있는 경우에만 적용됩니다.
for /f
내 것과 비슷한 경우 보다 더 간단하고 읽기 쉽다고 생각했습니다 . 방금 공유하고 싶었습니다
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"
분명히 이것은 명령 자체가 문자열 자체 대신 인용 된 문자열에서 작동하게합니다.