무선 툴킷의 캐시 폴더에있는 모든 폴더와 파일을 삭제하는 배치 파일을 갖고 싶습니다.
현재 다음과 같은 것들이 있습니다 :
cd "C:\Users\tbrollo\j2mewtk\2.5.2\appdb\RMS"
del *.db
그러면 RMS 디렉토리의 모든 .db 파일이 삭제 되지만이 디렉토리에서 모든 항목을 삭제하고 싶습니다. 어떻게해야합니까?
답변
del *.*
대신에 del *.db
. 모든 것을 제거합니다.
답변
사용하다:
-
배치 파일 만들기
-
아래 텍스트를 배치 파일에 복사하십시오.
set folder="C:\test" cd /d %folder% for /F "delims=" %%i in ('dir /b') do (rmdir "%%i" /s/q || del "%%i" /s/q)
모든 파일 과 폴더 가 삭제됩니다 .
답변
IF EXIST "C:\Users\tbrollo\j2mewtk\2.5.2\appdb\RMS" (
rmdir "C:\Users\tbrollo\j2mewtk\2.5.2\appdb\RMS" /s /q
)
폴더 (및 폴더 자체)에서 모든 항목이 삭제됩니다.
답변
del *.*
파일 만 삭제하지만 하위 디렉토리는 삭제하지 않습니다. 디렉토리의 내용을 압축하기 위해이 스크립트를 사용할 수 있습니다.
@echo off
setlocal enableextensions
if {%1}=={} goto :HELP
if {%1}=={/?} goto :HELP
goto :START
:HELP
echo Usage: %~n0 directory-name
echo.
echo Empties the contents of the specified directory,
echo WITHOUT CONFIRMATION. USE EXTREME CAUTION!
goto :DONE
:START
pushd %1 || goto :DONE
rd /q /s . 2> NUL
popd
:DONE
endlocal
pushd
디렉토리에 변경이있는 당신은 아이들을 삭제할. 그런 다음 rd
현재 디렉토리와 모든 서브 디렉토리를 삭제하도록 요청하면 서브 디렉토리의 삭제는 성공하지만 현재 디렉토리의 삭제는 실패합니다. 2> NUL
삼키는 오류가 발생 합니다. (2는 오류 스트림입니다).
답변
morty346이 게시 한 내용과 함께 이것을 정리했습니다.
set folder="C:\test"
IF EXIST "%folder%" (
cd /d %folder%
for /F "delims=" %%i in ('dir /b') do (rmdir "%%i" /s/q || del "%%i" /s/q)
)
변수에 정의 된 폴더가 먼저 존재하는지 빠른 확인을 추가하고 디렉토리를 폴더로 변경 한 후 내용을 삭제합니다.
답변
del
및 /S
플래그를 사용하여 이를 수행 할 수 있습니다 (모든 서브 디렉토리에서 모든 파일을 반복하도록 지시 함).
del /S C:\Path\to\directory\*
RD의 명령도 사용할 수 있습니다. 프롬프트없이 자동으로 재귀 적으로 삭제 :
@RD /S /Q %VAR_PATH%
답변
set "DIR_TO_DELETE=your_path_to_the_folder"
IF EXIST %DIR_TO_DELETE% (
FOR /D %%p IN ("%DIR_TO_DELETE%\*.*") DO rmdir "%%p" /S /Q
del %DIR_TO_DELETE%\*.* /F /Q
)