elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Tutorial básico de Quickjs


+  Foro de elhacker.net
|-+  Programación
| |-+  Scripting
| | |-+  Copiar directorio y subdirectorios con archivos de fotos y renombrar
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Copiar directorio y subdirectorios con archivos de fotos y renombrar  (Leído 3,886 veces)
MAMOJI

Desconectado Desconectado

Mensajes: 3


Ver Perfil
Copiar directorio y subdirectorios con archivos de fotos y renombrar
« en: 6 Febrero 2015, 09:02 am »

Buenas, estoy intentando copiar directorios donde tengo mis fotografias con datos exif (fecha de la imagen, modificación etc, que son fijas) a otro disco duro para luego renombrarlas con las fechas completa que se hicieron y ordenarlas por años y dias de cada serie de fotografias que hice, estoy intentandolo desde hace unas semanas, hacerlo mediante un proceso por lote .bat, pero no lo consigo, me podriais ayudar, tengo unas 100.000 fotos y quiero tenerlas clasificadas y grabadas para no peerderlas, luego ya las renombraré con programas muy sencillos que he encontrado. Si ademas pudiera comprobar si hay alguna repetida mejor que mejor.

Ejemplo:
       ORIGEN                        RENOMBRADAS
20141019_102901.jpg        20141019-102901.jpg
20141019_IMAGE02.jpg     20141019-103002.jpg
20141020_142503.jpg        20141020-142503.jpg
20141020_162815.jpg        20141020-162815.jpg
20151019_IMAGE01.jpg     20151019-182822.jpg

CLASIFICADAS EN OTRO DIRECTORIO:

POR AÑOS:
Carpeta año: 2014
Directorio 2014-10-10
archivos dentro del mismo  20141019-102901.jpg y 20141019-103002.jpg
Directorio 2014-10-20
archivos dentro del mismo  20141020-142503.jpg y 20141020-162815.jpg

Carpeta año: 2015
Directorio 2015-10-19
archivos dentro del mismo  20151019-182822.jpg

Creo que los que  estais acostumbrados no debe ser muy dificil, a mi la verdad que supercomplicado, estoy intentando aprender, pero no llego y quiero hacerlo metodicamente a mi manera para no perder las fotografias y poder hacer montajes familiares y de amigos.
En la actualidad lo hago con dos programas muy buenos pero siempre tengo que recurrir a ellos y seguir paso a paso y su formato y quisiera poderlo hacer con este proceso .bat nuevo y como yo quiero, para que podais verlos que son lo mejor que he encontrado en años, son muy buenos:
XnViewMP (renomobrar por lotes y clasificar) y Anti-Win (ficheros repetidos)
Muchas gracias de antemano, por ayudar a todos los que sabemos menos.



En línea

Eleкtro
Ex-Staff
*
Desconectado Desconectado

Mensajes: 9.810



Ver Perfil
Re: Copiar directorio y subdirectorios con archivos de fotos y renombrar
« Respuesta #1 en: 6 Febrero 2015, 09:28 am »

Buenas

Ejemplo:
       ORIGEN                        RENOMBRADAS
20151019_IMAGE01.jpg     20151019-182822.jpg

Explica de donde sale ese "182822", por favor.

De todas formas el foro no está para hacer la tarea de los demás, aquí te podemos ayudar a resolver dudas específicas para que puedas elaborar el código por ti mismo, ¿donde está tu código?, demuestra que lo has intentado por ti solo.

PD: No se si utilizas algún programa de terceros para leer los metadatos, pero en un lenguaje simple como Batch no puedes leer metadatos, para dicha tarea te recomiendo la aplicación exif-tool: http://www.sno.phy.queensu.ca/~phil/exiftool/

Saludos!


En línea

MAMOJI

Desconectado Desconectado

Mensajes: 3


Ver Perfil
Re: Copiar directorio y subdirectorios con archivos de fotos y renombrar
« Respuesta #2 en: 6 Febrero 2015, 13:30 pm »

Es verdad lo que me dices, el numero que me preguntas corresponde a lahoraminuto y segundo.
yo ya he conseguido hace la primera parte que corresponde a la copia de un directorio a otro:

Código
  1. @echo OFF
  2. ECHO Hola, Cuando pulses una tecla copiará el contenido de una capeta a otra que crearemos anteriormente
  3. CD H:\
  4. DEL /S /Q IMPORTAR
  5. MKDIR \IMPORTAR
  6. robocopy h:\MEMORIES H:\IMPORTAR /V /S
  7.  
  8. Este me funciona perfectamente, pero cuando trato de renombrar con la fecha, no me funciona, lo he hecho de varias formas e imposible, uno de mis intentos.
  9.  
  10. @echo off echo Respaldando...
  11. echo Renombrando con %date%
  12. set FECHA= %date%
  13. set FECHA=%FECHA:/=%
  14. set FECHA=%FECHA: =%
  15. set FECHA=%FECHA::=%
  16. set FECHA=%FECHA:,=%
  17. xcopy "C:\Documents\log" "C:\Documents\log\%FECHA%" /e/c/h/k/o/x/y
  18. echo Copiado Finalizado
  19. echo Respaldo Completado

tambien lo he intentado hacer directamente con xxcopy con este codigo y nada.
Código
  1. @echo off
  2. color 07
  3. echo Esto es un ejemplo de XXCOPY
  4. XXCopy H:\MEMORIES \ H:\IMPORTAR" /Do:18-10-2014 /E /C /SC /K /H /VL

Estoy mirando de ver si puedo hacerlo mediante QT4 programar con comandos EXIFTOOL, SEGUN LO QUE ME HAS INDICADO.

Mod: tema modificado, por favor usa etiquetas GeSHi cuando publiques codigo y no hagas doble post
« Última modificación: 6 Febrero 2015, 21:37 pm por engel lex » En línea

Eleкtro
Ex-Staff
*
Desconectado Desconectado

Mensajes: 9.810



Ver Perfil
Re: Copiar directorio y subdirectorios con archivos de fotos y renombrar
« Respuesta #3 en: 7 Febrero 2015, 14:25 pm »

Código
  1. @echo off echo Respaldando...
  2. echo Renombrando con %date%
  3. set FECHA= %date%
  4. set FECHA=%FECHA:/=%
  5. set FECHA=%FECHA: =%
  6. set FECHA=%FECHA::=%
  7. set FECHA=%FECHA:,=%
  8. xcopy "C:\Documents\log" "C:\Documents\log\%FECHA%" /e/c/h/k/o/x/y

Pero... vamos a ver, ahí no estás renombrando ningún archivo.

No has dado datos suficientes sobre los archivos ni sobre la forma en lo que lo quieres estructurar, intentar dar datelles específicos sobre el formato del renombrado.

De hecho, no has especificado claramente que es realmente la ayuda que precisas, si renombrar, mover el directorio, comprobar duplicados, todo, nada, o que es lo buscas... se más específico.

De todas formas Batch es una herramienta muy limitada y es el "lenguaje" más inapropiado para este tipo de tareas, ya que para renombrar archivos con el formato que propones no puedes hacer la substracción necesaría del string de forma natural, y el código se vuelve demasiado tedioso.

Con Batch no puedes buscar duplicados, ya que no puedes hacer una comparación del CRC, ni mucho menos una comparación byte a byte, Batch no es capaz ni dispone de ningun comando externo para dichas tareas.



Si no he entendido mal, todas las imágenes contienen un guión en el nombre, y quieres reemplazar todo lo que esté después de dicho guión, por la fecha actual?,
en ese caso:

Código
  1. @Echo OFF
  2.  
  3. Set "today=%date:~0,2%%date:~3,2%%date:~6,4%"
  4.  
  5. For %%# in ("*.jpg") Do (
  6.    Call :Replace "%%~n#" "%today%"
  7.    Echo Nombre original  : "%%~nx#"
  8.    Call Echo Nombre modificado: "%%replaceResult%%%%~x#"
  9.    :: Renombrar archivo...
  10. REM Call Rename "%%~f#" "%%replaceResult%%%%~x#"
  11. )
  12. Pause&Exit
  13.  
  14. :Replace :: %1=value, %2=replacement
  15. Set "value=%~1"
  16. Call Set "removed=%%value:*_=%%"
  17. Call Set "replaceResult=%%value:%removed%=%%"
  18. Call Set "replaceResult=%%value:%removed%=%%"
  19. Set "replaceResult=%replaceResult%%~2"
  20. Goto:EOF

Si los nombres de los archivos usan otros patrones distintos que necesiten un filtrado/análisis más profundo entonces olvídate de usar Batch, cualquier otro lenguaje te servirá de mayor utilidad para hacer lo mismo y mejor.

Saludos
En línea

MAMOJI

Desconectado Desconectado

Mensajes: 3


Ver Perfil
Re: Copiar directorio y subdirectorios con archivos de fotos y renombrar
« Respuesta #4 en: 12 Febrero 2015, 18:49 pm »

Gracias, de antemano disculpas, no he podido atenderte por haber tenido un problema familiar grave, una vez resuelto, te contesto.
Lo que pretendo es sustituir el nombre completo del fichero sin la terminación, por la fecha en que se creo la fotografia, se llame como se llame, lo del duplicado no me preocupa por ahora.
Manuel
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines