C#程序总会生成bin
、obj
、.vs
文件夹,为了减小源码的大小,就有必要将这两个文件夹删除,于是想到编写脚本来自动删除。
另外.suo
文件也可以删除,不过由于我对Python比较熟悉,所以就只在Python程序中写了删除.suo
的功能。
文章目录
Python3 代码
脚本放到要执行删除操作的目录(或上层目录)
import os
import shutil
aimedDir=['obj','bin','.vs']
aimedExt=['.suo']
c=0
for root,dirs,files in os.walk("."):
for i in dirs:
if i in aimedDir:
dir=os.path.join(root,i)
print(c, dir)
shutil.rmtree(dir)
c+=1
for i in files:
if os.path.splitext(i)[1] in aimedExt:
file=os.path.join(root,i)
print(c, file)
os.remove(file)
c+=1
input('删除完毕,请按回车键以退出。')
Bat代码
此脚本不稳定,路径中不能包含空格,否则会出错。
@echo off
set nowPath=%cd%
cd /
cd %nowPath%
::delete specify file(*.pdb,*.vshost.*)
for /r %nowPath% %%i in (*.pdb,*.vshost.*) do (del %%i)
::delete specify folder(obj,bin,.vs)
for /r %nowPath% %%i in (obj,bin,.vs) do (IF EXIST %%i RD /s /q %%i)
echo OK
pause
注:
1、批处理中两个半角冒号开头表示注释掉这一行
2、将以上代码复制到记事本中,并且命名为bat后缀的文件,如clearC#Temp.bat
.
3、clearC#Temp.bat
最好放到要执行删除操作的目录(或上层目录)
如果只要删除某个文件,可以将for /r %nowPath% %%i in (obj,bin) do (IF EXIST %%i RD /s /q %%i) 这一句去掉,然后将for /r %nowPath% %%i in (.pdb,.vshost.) do (del %%i) 这一句中的(.pdb,.vshost.)改成要删除的文件。