自动删除-IAR项目工程生成垃圾文件的工具

做嵌入式开发,IAR工程编译会产生很多垃圾文件,在版本库提交的时候手动去删除会很麻烦。

制作一个python脚本:代码如下
# -*- coding: utf-8 -*-
# in order to delte the files that with extendsnames
# 任务:需要对指定格式的文件进行批量删除,如''exe",".swf"等等。
# 
# 步骤:
#     1. 首先找到文件所在的目录。
# 
#      2. 对目录下的文件格式进行筛选.
# 
#    3. 删除文件,并有"删除成功的"文字提示.
# 
# 需要用到的函数:
# 
#      os.getcwd()           #获取当前目录
#      os.chdir(path)        #跳转到指定格式的文件所在目录
# 
#      os.lisdir(dirname)    #列出目录下的文件名及文件长度
#      os.remove(filename)   #指定需被删除的文件名称并删除文件
# 
# 自定义的:
# 


import os
import sys

# 默认要删除的文件后缀
delete_suffix = ['.orig']
proj_suffix = ('.eww','.ewp','ewd','.xcl')


# 刪除文件与目录
def delete_all_file_folder(src):
    '''删除项目所在文件夹里的垃圾文件'''
    if os.path.isfile(src):
        try:
            os.remove(src)
            print "delete file :%s" %src
        except:
            pass
    elif os.path.isdir(src):
        for item in os.listdir(src):
            itemsrc=os.path.join(src,item)
            delete_all_file_folder(itemsrc) 
        try:
            os.rmdir(src)
        except:
            pass

def get_current_dir():
    return os.getcwd()

def delelte_proj_rubbish(folder):
    all_list = os.listdir(folder)

    for item in os.listdir(folder):
        itemsrc=os.path.join(folder,item)
        if itemsrc.endswith(proj_suffix):
            all_list.remove(item)

    for item in all_list:
            itemsrc=os.path.join(folder,item)
            print itemsrc
            delete_all_file_folder(itemsrc)


def delete_file_folder(ipath):
    if os.path.isfile(ipath):
        if ipath.endswith(tuple(delete_suffix)):
            try:           
                os.remove(ipath)
                print "delete file :%s" %ipath
            except:
                pass

    elif os.path.isdir(ipath):
        for item in os.listdir(ipath):
            itemsrc=os.path.join(ipath,item)
            print itemsrc
            if os.path.isfile(itemsrc):
                if itemsrc.endswith(".eww"):
                    delelte_proj_rubbish(ipath)
                else:
                    delete_file_folder(itemsrc)
            else:
                delete_file_folder(itemsrc)



if __name__ == '__main__':
    if len(sys.argv) > 1:
        print 'get param'
        # delete_file_folder(sys.argv[1])
    else :
        delete_file_folder(get_current_dir())
        print "delete finished!"

raw_input() 


保存为delete.py

然后制作一个bat脚本;
python delete.py
exit
保存即可。
以后每次运行delete.bat即可。

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值