作者:朱金灿
来源:http://blog.csdn.net/clever101
平时项目开发中时常需要清理临时编译文件,比如清理obj文件、pdb文件等,于是想写一个小工具实现这个功能。
要实现这个功能,要选择合适的工具。首先想到使用批处理文件是最好的实现方式。于是写了个批处理文件,代码如下:
:: file: 清除临时编译文件.bat :: purpose: 清除临时编译文件 :: author: zjc :: time:2012.10.01 del *.map /S>>logs.txt>logs.txt del *.trg /S>>logs.txt del *.tlb /S>>logs.txt del *.sym /S>>logs.txt del *.vxd /S>>logs.txt del *.386 /S>>logs.txt del *.exp /S>>logs.txt del *.pel /S>>logs.txt del *.rsp /S>>logs.txt del *.res /S>>logs.txt del *.pdb /S>>logs.txt del *.pch /S>>logs.txt del *.sbr /S>>logs.txt del *.bsc /S>>logs.txt del *.plg /S>>logs.txt del *.ncb /S>>logs.txt del *.opt /S>>logs.txt del *.aps /S>>logs.txt del *.tmp /S>>logs.txt del *.ilk /S>>logs.txt del *.idb /S>>logs.txt del *.sup /S>>logs.txt del *.tlh /S>>logs.txt del *.tli /S>>logs.txt @for /F "delims=" %%i in ('dir *.obj /S /B^|find "\Release\"') do del "%%i">>logs.txt @for /F "delims=" %%i in ('dir *.obj /S /B^|find "\Debug\"') do del "%%i">>logs.txt @for /f "delims=" %%i in ('dir /S /B /AD^|find "\Release"' ) do rd /q "%%i">>logs.txt @for /f "delims=" %%i in ('dir /S /B /AD^|find "\Debug"' ) do rd /q "%%i">>logs.txt
稍微解释下这个程序,
del *.tli /S>>logs.txt 就是删除tli为后缀的文件,然后把它写到日志里。
@for /F "delims=" %%i in ('dir *.obj /S /B^|find "\Release\"') do del "%%i">>logs.txt 就是把Release文件下的obj文件列出来然后删除掉。
@for /f "delims=" %%i in ('dir /S /B /AD^|find "\Release"' ) do rd /q "%%i">>logs.txt
就是循环删除在Release文件下的上面指定后缀的文件。
logs.txt 为生成的删除文件的日志文件,里面记录了已经删除了的文件。
这条批处理文件的扩展方式是这样的:如果你要增加一个删除后缀,就在del语句后面增加一行,如增加删除htm文件:del *.htm /S>>logs.txt。若要增加一个obj文件所在的文件,就添加一行
@for /F "delims=" %%i in ('dir *.obj /S /B^|find "\Release\"') do del "%%i">>logs.txt
将你的文件夹替换上面的\Release\文件夹就行。
如果要搜索其它文件夹,则增加一行
@for /f "delims=" %%i in ('dir /S /B /AD^|find "\Debug"' ) do rd /q "%%i">>logs.txt
将你的文件夹替换上面的\Debug文件夹就行。
如果你觉得我的博客对你有帮助,请在下面网址中博客之星评选活动投我一票:
http://vote.blog.csdn.net/item/blogstar/clever101(单击候选人介绍下面的投他一票那个按钮)
参与投票有机会获奖:
最佳贡献奖:通过微博分享活动就有机会获得30元充值卡一张(每周抽选5名)
幸运奖:凡参与投票用户就有机会获得精美小礼品一份。(每周抽选5名)
积极参与奖:所有参与投票并符合条件的用户均可获得20个下载积分。