el Guille, la Web del Visual Basic, C#, .NET y más...

Copiar archivos de 2 unidades a una tercera

Publicado el 02/Ene/2019
Actualizado el 03/Ene/2019

Utilidad creada con WPF (.NET 4.7.2) para copiar archivos de 2 unidades a una tercera creando directorios con el MES y el DÍA del archivo.



Esta utilidad la escribí para copiar el contrenido de las fotos de dos móviles en un directorio indicado de mi portátil (laptop) creando un directorio para cada día y para cada uno de los dos móviles.

La batallita del Guille

Yo normalmente guardo las fotos en una carpeta con el año en curso, por ejemplo, para este año 2019 la he creado en el disco de datos, dentro de una carpeta llamada fotos y con el nombre: _fotos 2019.

En esa carpeta voy creando carpetas que empiezan con las dos cifras del mes, un espacio, dos cifras para el día y a continuación un número de una cifra y el origen de las fotos.

Por ejemplo, para el iPhone 7 Plus y para el día 2 de enero sería:  01 02 1 iP7

El número de orden lo uso por si creo varias carpetas en el mismo día, por ejemplo de la goPro (que ya pasó a mejor vida) o si quiero poner los videos aparte, etc.

Esto antes lo hacía todo manualmente, es decir, tenía que crear las carpetas, seleccionar del móvil las fotos correspondientes a ese día y copiarlas... sí, mucho trabajo... ¡y así ya llevo varios años! Smile with tongue out

Pero no fue hasta hace poco (el pasado 12 de diciembre) que me decidí a hacer una aplicación para hacer ese trabajo tedioso y casi automático. Y la hice usando WPF para escritorio. Por aquello de no perder el hilo de ese tipo de aplicaciones... ya que si eres seguidor de mi sitio habrás comprobado que desde hace unos cuantos años que no publico casi nada, y no es por no publicar, si no porque yo ya casi ni escribía código... ¡ni siquiera para mí!

En realidad la aplicación que he hecho no copia las fotografías desde las carpetas de los móviles (no he sido capaz de conseguirlo), si no que lo hace desde dos carpetas que tengo en un disco externo de 5 TB.

Pero aún así, tener que copiar las fotos del móvil a su carpeta correspondiente, es mucho el trabajo que me ahorro, además de que no me tengo que preocupar de si esta foto (de una fecha) la copié o no... ya que la aplicación se encarga de copiar las fotos desde la fecha que le indique, y si está repetida, la sobrescribe.

Y ya sin más dilación vamos a ver una captura de la aplicación en tiempo de ejecución (ver figura 1)

Captura de la aplicación en ejecución desde Visual Studio 2017
Figura 1. Captura de la aplicación en ejecución desde Visual Studio 2017

 

Como puedes ver, en los dos paneles superiores le indico qué directorios usar. En el panel inferior (en la parte izquierda) le indico desde que fecha empezar a hacer la copia y debajo tengo el directorio de destino con una ListView que contiene los directorios creados.

También en el panel inferior, en la parte derecha tengo la nomenclatura de los nombres de los directorios que quiero crear, según sea de las fotos indicadas en la unidad 1 o la unidad 2.

Los nombres deben llevar el mes y el día (si no lo quieres así, tendrás que modificar el código) ya que antes de copiar se hace una comprobación de que existan las cadenas $MM y $dd que se usan de plantilla para crear los directorios de destino, el signo dólar $ no se incluye, pero me sirve para hacer la comprobación de que se han indicado, ya que posteriormente quito el signo de dólar y solo dejo las dos MM (que representan al mes) y las dos dd (que representan al día).

Y esto es básicamente lo que hace la aplicación, que como su nombre (en el título de la ventana) indica sirve para: Copiar ficheros de 2 unidades a una 3ª en carpetas usando el mes y día de la fecha del fichero.

Comentarte que desde el menú de la aplicación puedes cambiar el tamaño de la ventana y el de las fuentes usadas.

Si quieres más detalles sobre el código y el diseño de la aplicación te invito a ver los artículos que he publicado sobre esta aplicación en mi blog y en mi sitio:

Más abajo te pongo el ZIP con el código completo tanto para Visual Basic como para C# usando una solución de Visual Studio 2017 con .NET 4.7.2.

Espero que te sea de utilidad Smile

Nos vemos.
Guillermo


 
El ZIP con el código completo

El código para Visual Basic y C# de la solución con el proyecto para Visual Studio 2017 (o superior) usando .NET 4.7.2

 

El zip: Copiar_archivos_de_2_unidades.zip (214 KB)

MD5 Checksum: 2E3B3F34410F37D051DC5AED8FBBCE1A

 

Pulsa en el enlace si la quieres instalar usando ClickOnce.




La fecha/hora en el servidor es: 12/10/2024 10:50:27

La fecha actual GMT (UTC) es: 

©Guillermo 'guille' Som, 1996-2024