[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Renombrar recursivamente



El jue, 26-02-2004 a las 21:01, Salva. escribió:
> ¿Sabéis si hay algún programa que renombre recursivamente dentro de los 
> directorios?

Python es tu amigo:

#!/usr/bin/env python
import os

def renombraDir(directorio):
        lista_met = [x for x in os.listdir(directorio) if x.find(".met") is not -1 and not os.path.isdir(x)]
        i = 0
        for l in lista_met:
                print "Moviendo "+str(l)+" a "+str(l)+".bak"
                os.system("cd "+str(directorio)+" && mv "+str(l)+" "+str(l)+".bak")
                i = i + 1
                                                                                                                             
        print "***"
        print str(i)+" archivos renombrados en el directorio "+str(directorio)
        print "***"
                                                                                                                             
def recorreDirectorios(directorio_padre):
        lista_dir = [x for x in os.listdir(directorio_padre) if os.path.isdir(x)]
                                                                                                                             
        for l in lista_dir:
                renombraDir(l)
                                                                                                                             
if __name__ == "__main__":
        recorreDirectorios(".")
# Fin de programa

Copia y pega el programa en un archivo, por ejemplo renombra_met.py,
después dale permisos de ejecución (chmod a+x renombra_met.py), y
ejecútalo en el directorio que quieras:

cp renombra_met.py directorio
cd directorio
./renombra_met.py

Por cierto, de nada ;-)
-- 
    /|\   Israel Herraiz <israel.herraiz@hispalinux.es> 
   /_|_\  Fingerprint: 1D08 6AB1 709D 37A2 0CFD
   \ | /   _           9733 CEE4 0EA0 6248 BA12
    \|/   ( )      _._
     '.    U     .'_|_'.       
       '.   '.      |(o_       (o_   (o_  
        {o_   (o_    //\_.___  //|   //\  
        (')_  (\)_   V_/_'oo'  V_|_  V__)_

Attachment: signature.asc
Description: Esta parte del mensaje =?ISO-8859-1?Q?est=E1?= firmada digitalmente


Reply to: