Ms-Dos - Renombrado masivo ficheros con fecha

 
Vista:

Renombrado masivo ficheros con fecha

Publicado por Santiago (2 intervenciones) el 20/09/2012 16:43:37
Hola a todos,
Soy un poco novato en programacion y necesito hacer un batch que renombre todos los ficheros de extension .pfx de una carpeta añadiéndoles la fecha al final del nombre y luego la extension.

Por ejemplo:
certificado1.pfx > certificado1_yy-mm-dd.pfx
pepito.pfx > pepito_yy-mm-dd.pfx
otrotipo.jpg > otrotipo.jpg (ficheros con otra extension no hacer nada)
.....

Muchas gracias por vuestra ayuda.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de A.H.H

Renombrado masivo ficheros con fecha

Publicado por A.H.H (216 intervenciones) el 20/09/2012 18:12:37
Hola a ver si te sirve esto, copia y pega el codigo en un archivo.bat y luego cambias donde dice C:\prueba por el directorio donde tienes los archivos .pfx, recuerda que si la ruta lleva espacios debes ponerla entre comillas y la linea quedaria asi--> CD "C:\mis archivos pfx"

Te explico un poco lo que hace el codigo:


1-Lo que hago primero es recoger la fecha del sistema con %date% y meterla en la variable fecha para poder separar el dia el mes y el year.

fecha del sistema %date% ---> 20/09/2012
dia 0,2---> obtengo los 2 primeros caracteres empezando por la izq. osea el 20
mes 3,2-->obengo el 4 y 5 caracter empezando por la izq. osea el 09.
year 8,2-->obtengo el 8 y 9 caracter empezando por la izq. osea el 12.
siempre se empieza a contar desde 0.

la variable nuevoarchivo la uso para el for, y es la cadena resultante para el modelo de renombrar que quieres, con esto--> %%~nx --->obtengo solo el nombre de archivo sin la extension, asi la extension ya se la pongo al final.

espero te sirva, este es el codigo:

1
2
3
4
5
6
7
8
9
10
11
@echo off
set fecha=%date%
set dia=%fecha:~0,2%
set mes=%fecha:~3,2%
set year=%fecha:~8,2%
set nuevoarchivo="%%~nx_%year%-%mes%-%dia%.pfx"
cd C:\prueba
for /R %%x in (*.pfx) do (RENAME "%%x" %nuevoarchivo%
echo ok renombrados los archivos .pfx encontrados
pause
exit



salu2
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de A.H.H

Renombrado masivo ficheros con fecha

Publicado por A.H.H (216 intervenciones) el 20/09/2012 18:17:36
Se me olvido comentarte que no lo uses 2 veces en el mismo directorio ya que logicamente si te ha renombrado la primera vez y tienes esto --> mi archivo_12-09-20.pfx

Te haria esto la segunda vez---> mi archivo_12-09-20_12-09-20.pfx

y esto una tercera vez... -----> mi archivo_12-09-20_12-09-20_12-09-20.pfx
..........
...........
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de A.H.H

Renombrado masivo ficheros con fecha

Publicado por A.H.H (216 intervenciones) el 20/09/2012 21:32:04
Hola tuve un error en el codigo debes quitar el parentesis que hay delante de Rename

este es el error----> (RENAME

tienes que quitar el parentesis--> RENAME
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Renombrado masivo ficheros con fecha

Publicado por Santiago (2 intervenciones) el 21/09/2012 09:55:42
Muchisimas gracias A.H.H
Funciona a la perfeccion.

Sí, ya me había dado cuenta que si lo ejecuto varias veces me vuelve a añadir la fecha. Lo he solucionado cambiando rename por MOVE y así muevo los archivos pfx desde la carpeta origen a la carpeta destino.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar