Copias en red

Hola, estoy intentando hacer un programilla que copie unos directorios o carpetas de varios usuarios en una red bajo windows. SIempre se copiarían los mismas carpetas sobrescribiendo los ficheros más antiguos. Este soft estaría instalado en un pc, que pasaría la información a un cd-regrabable, te agradecía me echaras una mano...
Si necesitas más información, o quieres ver como he empezado el proyecto puedes mandarme un mail a [email protected]
Saludos

2 respuestas

Respuesta
1
El tema no es tan complicado, simplemente tienes que utilizar los nombres de la maquinas con el recurso compartido de red y el nombre de archivo para realizar las copias, si estos están siempre en el mismo lugar harías algo así:
ArchivoOrigen = "\\NombreMaquina\RecursoCompartido\archivo"
Asi reemplazarias en NombreMaquina por el nombre de la maquina como figura en la configuracion de RED, por ejemplo "Oficina1", en RecursoCompartido el nombre de la carpeta compartida, puede ser directamente todo si compartes la unidad C: de la maquina, o si compartes solo el directorio de trabajo de la aplicacion seria mas seguro, por ejemplo dentro de "Mis Documentes" tienes una carpeta llamada "Archivos" y esta la compartes con el nombre de "Archivos" y luego en NombreArchivo es especificamente el nombre del archivo que quieres elegir, por ejemplo "Datos.mdb"
Con esto el ejemplo seria así:
ArchivoOrigen = "\\Oficina1\archivos\datos.mdb"
Con esto no hace falta que conectes a las unidades de red, solo tienes que comprobar antes que la mauiqna este encendida, de lo contrario de va a dar un error.
Cualquier duda me consultas.
Respuesta
1
Supongo que la pregunta es como copio archivos de red desde VB. La forma de proceder es la siguiente: En primer lugar, deberías comprobar si existe la carpeta (lo que equivale a que el equipo está en la red) y posteriormente realizar la copia del contenido. Para esto se utiliza la función dir() en bucle hasta que no devuelva nada. Ojo que si el directorio destino tiene subdirectorios hay que hacerlo a conciencia, es decir, hay que hacer un procedimiento análogo para cada directorio que encuentres. Lo mejor para hacer esto es un procedimiento recursivo. La base de este procedimiento recursivo es la siguiente:
ruta = Dir(directorio, vbDirectory)
Do While ruta <> ""
If (GetAttr(directorio & ruta) And vbDirectory) = vbDirectory Then
' Hay que entrar en otro directorio, por lo que llamamos a la misma función pero indicándole como directorio el actual.
Sé que es a grandes rasgos, pero creo que puede servirte, en cualquier caso ya sabes donde estoy.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas