net开发一键清理源码目录的经验分享

那些.ncb .obj .suo等等很多类型的中间产物,自然是不愿意被打包到源码目录之中的。这些文件如果不幸被打包,那么你30K的源码被打包成30M,是很常见的事情。

我以前每次打包源码之前,都会手动把所有的不需要的文件都给删除掉。操作次数多了,就想办法让这个工作更简单,起初我是编写了一个批处理文件ClearSrc.bat,这个批处理可以递归删除当前目录下(包括子目录)的所有无用文件。每次需要清理某个目录的时候,把这个批处理文件copy到需要清理的文件夹,然后执行一下这个批处理,就把文件夹清理的干干净净了。

但随着遇到的待清理文件类型的不断增多,比如某个版本我增加了对VSS的临时文件的删除,某个版本我又增加对svn临时文件的删除,某个版本增加了对sln的升级备份文件的删除。总之,我的ClearSrc由1.0慢慢升级到了5.0。随着它执行次数的增多,电脑硬盘上也到处是它的身影了……

于是我又想了一个办法,把这个批处理放到鼠标右键里面,每次点击的时候,自动调用这个批处理。这样我就不用把这个批处理到处copy来copy去了,电脑上也不会存在N个不同版本了——只要维护一个版本即可,也就是当前右键指向的那个版本。

接下来介绍一下实际的过程。

下面是这个批处理的内容:

复制代码

代码如下:

cd "%1"
del *.ncb *.suo *.scc *.user *.aps *.obj *.ilk *.pdb *.idb *.pch *.dep *.res /s /f /a /q
del *.exe.embed.* *.exe.inter* *.dll.embed.* *.dll.inter* /s /f /a /q
del BuildLog.htm UpgradeReport*.* UpgradeLog.xml *.sln.old /s /f /a /q
del *.svn-base all-wcprops entries dir-prop-base /s /f /a /q
for /f "delims=" %%i in ('dir /ad /b /s') do call :rd_dir_empty "%%i"
goto :eof
rem ======= 删除空目录 =========
:rd_dir_empty
rd %1 2>nul||goto :eof
set dir_route=%1
for /f "delims=" %%i in (%dir_route%) do (
set dir_route="%%~dpi"
for /f "delims=" %%j in ('dir /ad /b "%%~dpi"')do rd "%%~dpi%%j" 2>nul||goto :eof
)
:: 把路径最后的/去掉,以便set route_deepest="%%~dpi"能取到上一层路径
if "%dir_route:~-2,1%"=="/" set dir_route="%dir_route:~1,-2%"
if /i not "%cd%"==%dir_route% call :rd_dir_empty %dir_route%
goto :eof

上面这个批处理,内容很简单,首先是递归删除目录下所有特定扩展名或者包含特定关键字的文件,然后再删除所有的空文件夹。

用户也可以自己编辑一下,添加自己需要删除的独特类型,也可以去掉自己不需要删除的内容。

而上面的这个批处理具体内容,我删除了VC6一直到VC++2008的工程所产生的常见垃圾文件,同时也清理了vss和svn产生的临时文件(我打包源码的时候,一般会去掉这些,如果不希望清除版本控制信息,切忌慎用,我自己就有一次很悲催的清除了自己电脑上的开发目录下的所有版本控制信息……)

至于如何添加到右键菜单,可以参考下面这个步骤:

首先,将上面这个批处理文件,保存到某个目录,比如“C:/ClearSrc.bat”。

然后,新建一个文本文档,输入以下内容(注意加粗的路径就是上面那个批处理文件的路径):

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT/Directory/shell/clear]
@="清理源码目录"

[HKEY_CLASSES_ROOT/Directory/shell/clear/command]
@="/"C://CleanSrc.bat/" /"%1/""

将该文本文档的扩展名修改为“.reg”,双击执行该reg,将上述内容写入注册表。

那么现在,但你在任何一个目录上右键点击时,就会多出一个“清理源码目录”的菜单项,如下所示:

执行这个后,会弹出一个cmd窗口,自动执行上面那个批处理,删除所有需要删除的内容。

补充说明一点:360安全卫士会认为这个是恶意软件,然后把它给干掉,记得把它加入到信任列表吧。

(0)

相关推荐

  • 洋葱头win7一键装机2013版使用步骤经验分享

    这是一款集成常规软件的封装后的一键安装工具,可以帮助用户高效快速的安装用户需要的软件,简单实现系统重装,这一切你只需要交给一键u盘装系统[洋葱头],轻点一键重装. 操作方法 01 根据你自己的喜爱,点 ...

  • QQ空间怎么上传高清无码的照片?

    QQ空间怎么上传高清无码的照片?微云照片直接发送到QQ空间 之前在上传照片的时候老是在抱怨图片不清晰,现在可以将上传到微云的高清数码相片直接保存到QQ空间的相册,下面是详细的方法介绍。 将上传到微云的 ...

  • 微信一键转发怎么破解?微信一键转发授权码破解方法图文教程

    朋友圈一键转发小视频,朋友圈小视频,图文,一键点赞评论,删除僵尸粉,小编教你如何破解. 微信一键转发授权码破解方法: 打开软件链接,看具体功能,随便下载一个软件. 到“设置-通用-文件管理/设备管理” ...

  • 如何使用猎码安卓开发工具?使用猎码安卓开发工具编译猎码程序教程

    猎码安卓中文开发工具是一款国产全中文安卓开发工具.猎码集成了大量的组件模块,极大地简化了APP开发过程,提供了丰富全面的功能和模块,拥有简单易用的操作流程, 无需高深的JAVA基础也能开发出强大的安卓 ...

  • 如何给图片添加马赛克,图标自此不再高清无码

    巧用美图秀秀为图片添加马赛克,简单易学 操作方法 01 进入美图秀秀官网,选择美图秀秀电脑版下载. 02 进入下载界面,点击"立即下载" 03 安装完后,点击打开,选择目标图片 0 ...

  • 实用直播、源码经验分享

    更详细的直播经验分享,更实用的源码,希望能帮助到需要了解直播源码的人! 操作方法 01 第一步:分解手机直播系统开发功能,了解你所需要的直播功能 第二步:寻找合适的云服务SDK进行嵌入,在APIClo ...

  • Linux下源码安装的经验详解

    在linux下安装软件,难免会碰到需要源码安装的,而就是这简简单单的./configure.make.sudo make install三步,却让不少人头疼不已,这里以安装X11为例具体介绍下我在安装 ...

  • 微信小程序与你见字如面怎么玩?与你见字如面小程序码及玩法分享

    9月9号,微信上线了一款非常有意思的小程序——与你见字如面,它是一种通过书信来表达想法的方式,是一种新的社交玩法.那么,微信小程序与你见字如面是什么?怎么玩?入口在哪呢?接下来,小编就给大家详细说说关 ...

  • 病房2:高清版攻略 通关心得分享

    操作方法 01 从NDS移植到PC版,画面进步了不少,但丝毫没有添加新的元素,而且难度大大降低.记得以前玩NDS版本时,敌人很耐操且攻击很强,药品也很紧缺,在第一章BOSS大嘴怪时死了N次.而PC上则 ...