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

作者:朱金灿

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

 

     编译好一个开源代码,往往要做成一种类似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语句。


      如果你觉得我的博客对你有帮助,请在下面网址中博客之星评选活动投我一票:

http://vote.blog.csdn.net/item/blogstar/clever101(单击候选人介绍下面的投他一票那个按钮)

参与投票有机会获奖:

     最佳贡献奖:通过微博分享活动就有机会获得30元充值卡一张(每周抽选5名)
    幸运奖:凡参与投票用户就有机会获得精美小礼品一份。(每周抽选5名)
    积极参与奖:所有参与投票并符合条件的用户均可获得20个下载积分。


原文地址:https://www.cnblogs.com/lanzhi/p/6470734.html