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

所属分类: 软件教程 / 编程开发 阅读数: 1665
收藏 0 赞 0 分享
那些.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安全卫士会认为这个是恶意软件,然后把它给干掉,记得把它加入到信任列表吧。

更多精彩内容其他人还在看

精易模块新手入门图文教程

精易模块是最好用的开源易模块,全中文命令,多个常用类功能,采用windows Api+核心命令打造,性能强大、使用简单、功能免费、免费开源,这篇文章主要介绍了精易模块新手入门图文教程,需要的朋友可以参考下
收藏 0 赞 0 分享

scratch3.0怎么制作会变色的鹦鹉动画?

scratch3.0怎么制作会变色的鹦鹉动画?scratch3.0中想要制作一个会变色的鹦鹉,该怎么制作这个效果呢?下面我们就来看看详细的教程,需要的朋友可以参考下
收藏 0 赞 0 分享

windows下jdk安装图解(覆盖安装报错)

这篇文章主要介绍了windows下jdk安装图解,覆盖安装报错,第一次安装和第二次安装区别,需要的朋友可以参考下
收藏 0 赞 0 分享

Java配置 JDK开发环境搭建及环境变量配置详细图文教程

这篇文章主要介绍了Java配置 JDK开发环境搭建及环境变量配置详细图文教程,需要的朋友可以参考下
收藏 0 赞 0 分享

IntelliJ IDEA搭建Android开发环境图文详解

这篇文章主要介绍了IntelliJ IDEA搭建Android开发环境图文详解,需要的朋友可以参考下
收藏 0 赞 0 分享

visual studio 2019的安装以及使用方法

这篇文章主要介绍了visual studio 2019的安装以及使用图文方法,一款专为帮助程序设计人员更好,设计更优质程序开发的功能强大,需要的朋友可以参考下
收藏 0 赞 0 分享

基于IntelliJ IDEA 13搭建Android集成开发环境(图文教程)

使用IntelliJ IDEA搭建Android集成开发环境,但是感觉不详细,所以打算自己整理一个详细的图文教程,希望能对新手(包括自己)有所帮助,需要的朋友可以参考下
收藏 0 赞 0 分享

代码自动生成工具ASP.NET Maker 2020安装及激活教程(附注册机下载)

ASP.NET Maker 2020如何激活?ASP.NET Maker 2020一款功能强大的自动化代码生成器,下文中详细的介绍了本软件的安装及激活教程,另附上注册机下载,感兴趣的朋友不妨阅读下文内容,参考一下吧
收藏 0 赞 0 分享

python运行环境搭建和pycharm的安装配置及汉化(零基础小白版)

写这篇文章主要是介绍一下python的环境搭建和pycharm的安装配置,适合零基础的同学观看。这篇文章你会学到python的环境搭建和python比较好用的IDE pycharm的安装与基础配置
收藏 0 赞 0 分享

IntelliJ WebStorm 2020.3.3 最新激活教程 附汉化补丁安装教程

今天脚本小编给大家分享的是IntelliJ WebStorm 2020.3.3最新激活补丁和汉化补丁的安装激活教程,此款软件的激活比较麻烦,每个版本激活方法都不一样,所以小编就给大家分享了详细的安装激活教程,此教程是小编一步一步安装得来,所以真实有效,大家放心按照步骤安装即可
收藏 0 赞 0 分享
查看更多