• 快速删除VS解决方案里各项目的bin/obj文件夹


    久没更博了,先上一篇小技巧。


    先说一下VS解决方案中bin和obj这两文件夹是什么东东,以下信息源自百度。

    bin目录用来保存项目生成后程序集,它有Debug和Release两个版本,分别对应的文件夹为bin/Debug和bin/Release,这个文件夹是默认的输出路径,我们可以通过:项目属性—>配置属性—>输出路径来修改。

    obj目录是用来保存每个模块的编译结果,在.NET中,编译是分模块进行的,编译整个完成后会合并为一个.DLL或.EXE保存到bin目录下。因为每次编译时默认都是采用增量编译,即只重新编译改变了的模块,obj保存每个模块的编译结果,用来加快编译速度。是否采用增量编译,可以通过:项目属性—>配置属性—>高级—>增量编译来设置。


    OK,之后我们回归最中心的思想了,为什么要删除掉它们?理由有三:

    1、减少空间占用,有利于备份。

    2、将源码上传至开源网站(诸如codeproject/sourceforge等)所必须的。

    3、由观点1引申的打包后容量小拷贝迅速减少能量消耗节约生命 and so on...


    接着就是到达最终目的了,如何删除它们?方法也有三:

    1、人手至每一个项目(网站/程序/类库)中删除。(最笨的)

    2、使用Windows的搜索功能,搜索解决方案文件夹下的bin和obj进行删除。(有点想法了)

    3、写一个批处理bat文件,只要双击后让电脑帮忙搞定。(醒目)


    本文的要说的方法当然不可能是1、2了,至于说批处理如何写,如下所示:

    rd JT.Common\bin /s/q
    rd JT.Common\obj /s/q

    rd JT.Control\bin /s/q
    rd JT.Control\obj /s/q


    免不了要介绍下rd命令了,源自M$:

    C:\>rd /?
    删除一个目录。

    RMDIR [/S] [/Q] [drive:]path
    RD [/S] [/Q] [drive:]path

        /S      除目录本身外,还将删除指定目录下的所有子目录和
                文件。用于删除目录树。

        /Q      安静模式,带 /S 删除目录树时不要求确认


    我们再回到上面的批处理,细心的人肯定会发现一个问题,如果我的解决方案里有N个项目,我岂不是要写N*2个rd命令?我有N解决方案,不就要写N*N*2个rd命令,oh my god!!!
    有没有一个通用的批处理文件,是我可以不用自己再写额外的命令,一拿来就能用的?答案是有的,要不然也不会有这篇博文了,没错,就是它了:

    for /f "tokens=*" %%a in ('dir obj /b /ad /s ^|sort') do rd "%%a" /s/q
    for /f "tokens=*" %%a in ('dir bin /b /ad /s ^|sort') do rd "%%a" /s/q


    最后就是使用方法了,很简单,把上面的两条命令写入一个名为“CleanSolution.bat”的文本文件中,然后扔到解决方案根目录,也就是与“xxx.sln”同在。
    使用时双击即可,干净清爽。

    that's all, thank you!~~~

  • 相关阅读:
    微信小程序----导航栏滑动定位(实现CSS3的position:sticky效果)
    微信小程序----侧滑菜单(Popup---左侧滑动,右侧不动)(MUI侧滑导航)
    微信小程序----侧滑菜单(Popup----左侧不动,右侧滑动)(MUI侧滑导航)
    微信小程序----gallery slider(图片轮播)组件
    微信小程序----页面生命周期
    微信小程序----App生命周期
    HDU-1180-诡异的楼梯
    HDU-2031-进制转换
    POJ-1852-Ants
    POJ-2386-Lake Counting
  • 原文地址:https://www.cnblogs.com/jitian/p/2264547.html
Copyright © 2020-2023  润新知