윈도우에서 하위 디렉토리 포함해서 특정 확장자를 제외한 모든 파일을 삭제하는 스크립트
Windows Batch script to delete all except certain extensions recursively
특정 파일들을 삭제하는건 del 명령을 사용하면 쉽게 할 수 있는데요.
특정 파일들을 제외하고 삭제하는 프로그램은 잘 없어서 공유합니다.
제가 만들었고 저작권 없으니 마음껏 쓰세요.
@echo off title Securekim set ROOTDIR=%1 goto EXECUTE :USAGE echo Usage : %0 {DIR} {EXTs} echo Example : %0 testDir\myDel .java .kt exit /b 0 :EXECUTE for /f "tokens=1,* delims= " %%a in ("%*") do set ALL_BUT_FIRST=%%b if NOT DEFINED ROOTDIR goto USAGE if NOT DEFINED ALL_BUT_FIRST goto USAGE echo Do you really want to delete all files without %ALL_BUT_FIRST% in "%ROOTDIR%"? pause echo. echo Deletion process will be started. All files will be deleted without your exts. echo If directory is huge, It takes a long time. echo This solution doesnt work on files with non-roman characters such as korean or japanese. echo. for /f "delims=" %%F in ('dir %ROOTDIR% /s /b /a-d ^|findstr /vile "%ALL_BUT_FIRST%"') do del /F "%%F"