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

  • A+
所属分类:Windows

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

[plain]

  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为指定除开头文件,如果你要增加条件,可以这样增加:

[plain]

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

即增加一个if语句。

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: