删除指定目录下除开指定文件外所有文件的批处理命令

删除指定目录下除开指定文件外所有文件的批处理命令

作者:朱金灿

来源:http://blog.csdn.net/clever101

 

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

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

 

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

  1. if not %%~xi==.txt (  
  2. if not %%~xi==.h (  
  3. del /s /a /q "%%~si"  
  4. )  
  5. )  

     即增加一个if语句。

你可能感兴趣的:(删除指定目录下除开指定文件外所有文件的批处理命令)