windows下清理svn文件夹的python脚本,svnpython,# -*- coding


# -*- coding: cp936 -*-  # 注明字符集  # file:clearsvn.py 删除svn目录下的所有svn文件  import os,win32con,win32api  #清除文件名头尾的引号  def trimpath(pathin):    #如果头部存在引号    if pathin[0] == '\"':      pathin = pathin[1:]    #如果尾部存在引号    if pathin[(len(pathin)-1)] == '\"':      pathin = pathin[:(len(pathin)-1)]    #返回清理首尾后的字串      return pathin  def clearsvn(path):    #列出子目录    filenames = os.listdir(path)    for singlefile in filenames:      pathfile = path + '\\' + singlefile      #子目录判断是否为svn文件夹      if os.path.isdir(pathfile):        if singlefile.find('.svn') != -1:          #是的话清理文件夹后删除文件夹          deltree(pathfile)          print "清理目录:" + pathfile          #修改属性,同linux下chmod          win32api.SetFileAttributes(pathfile, win32con.FILE_ATTRIBUTE_NORMAL)          #api删除空文件夹          os.rmdir(pathfile)        else:          #不是的话递归到下一层          clearsvn(pathfile)  def deltree(path):    filenames = os.listdir(path)    #遍历所有子目录和文件夹    for singlefile in filenames:      pathfile = path + '\\' + singlefile      #如果是文件夹的话递归清理      if os.path.isdir(pathfile):        print "清理目录:" + pathfile        #修改属性,同linux下chmod        win32api.SetFileAttributes(pathfile, win32con.FILE_ATTRIBUTE_NORMAL)        #递归到下一层        deltree(pathfile)        #api删除空文件夹        os.rmdir(pathfile)      #如果是文件的话则删除        if os.path.isfile(pathfile):        print "删除文件:" + pathfile        #修改属性,同linux下chmod        win32api.SetFileAttributes(pathfile, win32con.FILE_ATTRIBUTE_NORMAL)        #api删除文件        os.remove(pathfile)  if __name__=="__main__":    #提示用户输入目录路径    pathin = raw_input("拖放要删除文件所在目录到此:")    #清理字串首尾的引号    path = trimpath(pathin)    #确认文件夹    choose = raw_input("需要清理的文件夹为 [ " + path + " ] y/n?:")    if choose == 'y' or choose == 'Y':      #检查用户输入的目录是否存在,如果不存在则退出程序      if os.path.exists(path)==False:        print "输入的目录不存在!"        os._exit(1)      #遍历子文件夹进行删除      clearsvn(path)      print "清理完成!"      #运行结束暂停,显示友好信息      os.system('pause') 

评论关闭