快速删除VS解决方案里各项目的bin/obj文件夹 电脑版发表于:2023/7/4 9:33 先说一下VS解决方案中bin和obj这两文件夹是什么东东,以下信息源自百度。 tn2>bin目录用来保存项目生成后程序集,它有Debug和Release两个版本,分别对应的文件夹为bin/Debug和bin/Release,这个文件夹是默认的输出路径,我们可以通过:项目属性—>配置属性—>输出路径来修改。 obj目录是用来保存每个模块的编译结果,在.NET中,编译是分模块进行的,编译整个完成后会合并为一个.DLL或.EXE保存到bin目录下。因为每次编译时默认都是采用增量编译,即只重新编译改变了的模块,obj保存每个模块的编译结果,用来加快编译速度。是否采用增量编译,可以通过:项目属性—>配置属性—>高级—>增量编译来设置。 OK,之后我们回归最中心的思想了,为什么要删除掉它们?理由有三: tn4>1、减少空间占用,有利于备份。 2、将源码上传至开源网站(诸如codeproject/sourceforge等)所必须的。 3、由观点1引申的打包后容量小拷贝迅速减少能量消耗节约生命 and so on... 接着就是到达最终目的了,如何删除它们?方法也有三: tn2>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$: tn4>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!~~~ 原文:https://www.likecs.com/show-307528691.html