def main(): if len(sys.argv) != 3: print('ERROR Debe especificar 1 ruta, 2 fichero md5') sys.exit(1) if not os.path.exists(sys.argv[1]): print('ERROR El fichero o directorio no existe: ' + sys.argv[1]) sys.exit(1) if not os.path.exists(sys.argv[2]): print('ERROR El fichero de md5 no existe: ' + sys.argv[2]) sys.exit(2) # listado de ficheros que existen lineas = fichero.leeLineas(sys.argv[2]) existen = [] for l in lineas: existen.append(l[0:32]) ficheros = [] if os.path.isdir(sys.argv[1]): ficheros = fichero.ficherosEnDir(sys.argv[1]) else: ficheros = [sys.argv[1]] print("Se van a calcular los MD5 de " + str(len(ficheros)) + " ficheros") iteracion = 0 total = len(ficheros) borrados = 0 errores = [] for f in ficheros: iteracion += 1 if fichero.md5sum(f) in existen: borrados += 1 try: os.remove(f) except: print("Error borrando: " + f) errores.append(f) progressBar(iteracion,total, str(borrados) + " " + str(f)) else: progressBar(iteracion,total) print("\nSe han borrado " + str(borrados) + " de " + str(total) + " ficheros") print("Errores: " + "\n".join(errores)) return 0
def main(): if len(sys.argv) != 2 and len(sys.argv) != 3: print('ERROR Debe especificar 1 ruta, [2 fichero almacenamiento]') sys.exit(1) if not os.path.exists(sys.argv[1]): print('ERROR El fichero o directorio no existe: ' + sys.argv[1]) sys.exit(1) # El fichero resultado por defecto será el nombre del fichero/carpeta ficheroResultado = sys.argv[1] + ".md5"; # Comprobamos que no termine en / para que no genere un fichero ".md5" # dentro de él if sys.argv[1][len(sys.argv[1])-1] == '/': ficheroResultado = sys.argv[1][0:len(sys.argv[1])-1] + ".md5"; if len(sys.argv) == 3: ficheroResultado = sys.argv[2] if os.path.exists(ficheroResultado): os.remove(ficheroResultado) open(ficheroResultado, 'w').close() ficheros = [] if os.path.isdir(sys.argv[1]): ficheros = fichero.ficherosEnDir(sys.argv[1]) else: ficheros = [sys.argv[1]] print("Se van a calcular los MD5 de " + str(len(ficheros)) + " ficheros") texto = "" iteracion = 0 total = len(ficheros) for f in ficheros: try: iteracion += 1 texto += fichero.md5sum(f) + " " + f + '\n' progressBar.progressBar(iteracion,total,f) except Exception as e: print("ERROR fichero: " +f, e) fichero.escribirFicheroAlFinal(ficheroResultado, texto) print("El resultado se ha almacenado en: " + ficheroResultado) return 0
def main(): if len(sys.argv) != 3: print('ERROR Debe especificar 1 ruta, 2 fichero md5') sys.exit(1) if not os.path.exists(sys.argv[1]): print('ERROR El fichero o directorio no existe: ' + sys.argv[1]) sys.exit(1) if not os.path.exists(sys.argv[2]): print('ERROR El fichero de md5 no existe: ' + sys.argv[2]) sys.exit(2) # listado de ficheros que existen lineas = fichero.leeLineas(sys.argv[2]) existen = [] for l in lineas: existen.append(l[0:32]) ficheros = [] if os.path.isdir(sys.argv[1]): ficheros = fichero.ficherosEnDir(sys.argv[1]) else: ficheros = [sys.argv[1]] print("Se van a calcular los MD5 de " + str(len(ficheros)) + " ficheros") iteracion = 0 total = len(ficheros) borrados = 0 errores = [] for f in ficheros: iteracion += 1 if fichero.md5sum(f) in existen: borrados += 1 try: os.remove(f) except: print("Error borrando: " + f) errores.append(f) progressBar(iteracion, total, str(borrados) + " " + str(f)) else: progressBar(iteracion, total) print("\nSe han borrado " + str(borrados) + " de " + str(total) + " ficheros") print("Errores: " + "\n".join(errores)) return 0