作者:朱金灿

 

     编译好一个开源代码,往往要做成一种类似SDK的方式,就是一般将其分开为三个目录:include(存放接口文件),lib(存放静态库或导入库文件)和dll(存放动态库文件)。如果代码中头文件众多,整理接口文件就成了一件难事,主要困难在于如何删除源码文件夹中除开头文件之外的所有文件。最近搜了一个批处理文件,完成了这一工作,命令如下:

@echo off
for /f "delims=" %%i in ('dir E:\Test /a-d /b /s') do (
if not %%~xi==.h (
del /s /a /q "%%~si"
)
)
::删除空目录
for /f "delims=" %%j in ('dir E:\Test /ad /s /b') do rd "%%~sj"
pause


说明:E:\Test为你要所删除文件的所在的文件夹,if not %%~xi==.h为指定除开头文件,如果你要增加条件,可以这样增加:

if not %%~xi==.txt (
if not %%~xi==.h (
del /s /a /q "%%~si"
)
)

     即增加一个if语句。