@echo off
setlocal
rem  please define files will be delete !;;定义要删除的文件扩展名
set "exts=*.bak *.o *.lst *.d"
rem recurisive call delete funcaiton ;;调用递归删除函数
call :deleteFiles "%CD%"
echo delete successed! 
rem ;;删除操作完成！
pause
exit
:deleteFiles
rem 遍历当前目录下的文件和文件夹
for /R "%~1" %%F in (*) do (
    rem 检查是否为文件
    if exist "%%F" (
        rem 检查文件扩展名是否满足要求
        for %%E in (%exts%) do (
            if "%%~xF" == "%%E" (
                echo delete file : "%%F"
                del "%%F" /q
            )
        )
    )
)
rem 递归调用自身处理子文件夹
for /d %%D in ("%~1\*") do (
    call :deleteFiles "%%D"
)
exit /b
