Programación General > C/C++
programa para renombrar archivos
flara:
Hola y antes de nada daros las gracias por el foro, se que de este tema se ha ablado mucho en varios lenguajes de programacion, pero la verdad que yo de programacion no tengo ni idea, y mire que lo intente hacer. Lo que quiero realizar es un pequeño programa para renombrar *.txt, tengo un programa que me guarda los logs de la siguiente manera punchlog_02.abr.2009.txt, el problema es para luego cargarlos y sacar los reportes, son todos lo puntos que escribe, entonces me gustaria poder renombrar y que el fichero quedar aalgo asi: 02abr2009.txt, que tan solo que el punto de la extensión del archivo ya probe a renombrarlos, pero como no tengo mucha idea no se como realizarlo, el problema esque por cada dia me crea un log diferente, es decir; punchlog_02.abr.2009.txt, punchlog_03.abr.2009.txt, etc, entonces lo que tengo que hacer es programar la tarea y que de forma automatica revise el directorio donde estas esos *.txt y cuando detecte que haya alguno con el nombre punchlog_02.abr.2009.txt lo renombre a 02abr2009.txt.
el programa deberia hacer algo asi
ejemplo c:/logs --> aqui estan los archivos *.txt
contenido de la carpeta Renombrados
punchlog_02.abr.2009.txt ---------------------- 02abr2009.txt
punchlog_03.abr.2009.txt ---------------------- 03abr2009.txt
punchlog_04.abr.2009.txt ---------------------- 04abr2009.txt
punchlog_05.abr.2009.txt ---------------------- 05abr2009.txt
punchlog_06.abr.2009.txt ---------------------- 06abr2009.txt
punchlog_07.abr.2009.txt ---------------------- 07abr2009.txt
punchlog_08.abr.2009.txt ---------------------- 08abr2009.txt
mas los que valla generando cada dia--------- mas los que vallan generando cada dia.
Un saludo y gracias de ante mano.
rfog:
Tienes que usar FindFirstFile() y FindNextFile() de Win32. http://msdn.microsoft.com/en-us/library/aa364418(VS.85).aspx
En la pauta a buscar el fichero tienes que poner "punchlog*.txt" para que sólo te encuentre los logs generados y no todos. Y luego, en el bucle, tan sólo tienes que trastear con lo devuelto por las funciones anteriores y componer la nueva cadena, que pasarás a MoveFile(), que renombrará el fichero. http://msdn.microsoft.com/en-us/library/aa363851(VS.85).aspx
flara:
muchas gracias
ocelot_76:
i si utilizas linux mas concretamente ubuntu con gcc i g++???
OuGi
rfog:
Con el tema de recorrer los archivos en linux no tengo ni idea ya que in la biblioteca de C ni la de C++ traen nada como estándar. Para las cadenas sí, puedes usar igualmente strtok o el equivalente d C++ para ir partiendo la cadena original.
Navegación
[#] Página Siguiente
Ir a la versión completa