Ms-Dos - Copiar archivos a carpetas del mismo nombre en varias computadoras que están dentro de la misma Red.

 
Vista:

Copiar archivos a carpetas del mismo nombre en varias computadoras que están dentro de la misma Red.

Publicado por Fredy Peralta (5 intervenciones) el 26/04/2021 22:20:34
Buen día, espero me ayuden quisiera copiar los archivos actualizados de una carpeta a otras del mismo nombre que se ubican en la unidad C de varias computadoras que están dentro de la misma red.

Ejemplo: Quiero copiar los archivos actualizados de la carpeta "Unidad" a las carpetas del mismo nombre que están en la unidad C de las computadoras en red con IP: 170.20.100.15 hasta la IP: 170.20.100.30

Hasta el momento estuve usando este comando para copiar los archivos a una computadora a la vez, mediante la Consola.

C:\Users\usuario>xcopy \\170.20.100.20\Config\Unidad \\170.20.100.15\c$\Unidad

Lo que quiero es copiar los archivos actualizados en las respectivas carpetas de las computadoras, que el bat al ser ejecutado copie los archivos de la carpeta "Unidad" de origen en cada carpeta "unidad" de destino de cada computadora con IP dentro del segmento de red 170.20.100.15 al 170.20.100.30

y si no encuentra la carpeta en la computadora de destino que no copie nada.

Estos archivos las tengo en una carpeta origen "\\172.20.106.20\\Config\Unidad"
y los destinos donde se encuentran las carpetas "\\170.20.100.15\c$\Unidad" hasta "\\170.20.100.30\c$\Unidad"

Espero puedan orientarme, muchas gracias.

Saludos.
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 Antoni Masana
Val: 1.419
Oro
Ha mantenido su posición en Ms-Dos (en relación al último mes)
Gráfica de Ms-Dos

Copiar archivos a carpetas del mismo nombre en varias computadoras que están dentro de la misma Red.

Publicado por Antoni Masana (811 intervenciones) el 27/04/2021 14:27:05
Lo hago a ojo porque no lo puedo probar.

1
2
@echo off
FOR /L %%a in (15, 1, 30) do xcopy  \\170.20.100.20\Config\Unidad \\170.20.100.%%a\c$\Unidad\. >nul 2>nul

Saludos.
\\//_
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

Copiar archivos a carpetas del mismo nombre en varias computadoras que están dentro de la misma Red.

Publicado por Fredy Peralta (5 intervenciones) el 27/04/2021 21:59:42
Antoni Muchas Gracias por el aporte, lo probé y si funciona el bat llega a copiar los archivos en las carpetas de destino del mismo nombre.
Un favor quisiera agregarle ciertas funcionalidades.

Lo que sucede es que actualizo los archivos y carpetas que están en la carpeta de origen en el servidor 170.20.100.20, a las carpetas de destino que están en la unidad C de las computadoras con IPs dentro del segmento
de red 170.20.100.15 hasta 170.20.100.30 y este trabajo se realiza cada semana.
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
1- Aparte de copiar archivos también copie carpetas que estén dentro de la carpeta de origen a la carpeta de destino.
2- Al momento de copiar que reemplace solo los archivos y carpetas antiguas por las nuevas y en caso se tenga archivos o carpetas
nuevas en la carpeta de origen, copiarlas a la carpeta de destino.
3- Si no encuentra algunas direcciones de destino ejemplo (no encuentra las computadoras con IPs 170.20.100.20; 170.20.100.23 y
170.20.100.25 u otros que estén dentro del segmento de red) no haga nada. Pero que copie y reemplace en las que encuentre.

Espero puedas ayudarme, muchas gracias.

Saludos.
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
sin imagen de perfil
Val: 3
Ha aumentado su posición en 4 puestos en Ms-Dos (en relación al último mes)
Gráfica de Ms-Dos

Copiar archivos a carpetas del mismo nombre en varias computadoras que están dentro de la misma Red.

Publicado por Miguel (1 intervención) el 27/04/2021 22:04:40
agrega el codigo que tienes en tu bat, basicamente puedes usar el comando Robocopy;



ROBOCOPY \\server-source\c$\VMExports\ C:\VMExports\ /E /COPY:DAT
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 Antoni Masana
Val: 1.419
Oro
Ha mantenido su posición en Ms-Dos (en relación al último mes)
Gráfica de Ms-Dos

Copiar archivos a carpetas del mismo nombre en varias computadoras que están dentro de la misma Red.

Publicado por Antoni Masana (811 intervenciones) el 27/04/2021 23:59:23
Yo no conozco el ROBOCOPY pero en el caso de usar el XCOPY añade:

/M para copiar solo los documentos nuevos o modificados
/S para copiar subdirectorios


1
2
@echo off
FOR /L %%a in (15, 1, 30) do xcopy /S /M \\170.20.100.20\Config\Unidad \\170.20.100.%%a\c$\Unidad\. >nul 2>nul

Si el destino no existe da un error y continua, el 2>nul es para que no muestre los mensajes de error.
El >nul es para que no muestre los mensajes mientras copia.
Si por el contrario quieres ver los archivos mientras los copia puedes quitar el >nul y añadir:

/Q No muestra los nombres de los archivos mientras los copia.

Si da error y se cancela prueba a añadir esto:

/C Continúa con el proceso de copia incluso si se producen errores.


Saludos.
\\//_
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

Copiar archivos a carpetas del mismo nombre en varias computadoras que están dentro de la misma Red.

Publicado por Fredy Peralta (5 intervenciones) el 28/04/2021 19:57:22
Estimado Antoni, probé el código :

@echo off
FOR /L %%a in (15, 1, 30) do xcopy /S /M \\170.20.100.20\Config\Unidad \\170.20.100.%%a\c$\Unidad\. >nul 2>nul

1.- Efectivamente copia los archivos pero no llega a copiar los subdirectorios.
2.- En las carpetas de destino que contienen archivos antiguos no llega a reemplazarlos, pero si no existen los archivos si los copia.
3.- ¿Se podría agregar un código que borre los archivos y carpetas antiguas y luego copie?

Espero puedas ayudarme, muchas gracias.

Saludos.
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 Antoni Masana
Val: 1.419
Oro
Ha mantenido su posición en Ms-Dos (en relación al último mes)
Gráfica de Ms-Dos

Copiar archivos a carpetas del mismo nombre en varias computadoras que están dentro de la misma Red.

Publicado por Antoni Masana (811 intervenciones) el 28/04/2021 20:42:04
Esto borra el destino antes de copiar.
En la copia he quitado el >nul 2>nul y le pongo una pausa cuando finalice para ver por que falla la copia.

1
2
3
4
5
6
@echo off
FOR /L %%a in (15, 1, 30) do (
    del /S /Q \\170.20.100.%%a\c$\Unidad\*.*
    xcopy /Y /R /S /M \\170.20.100.20\Config\Unidad \\170.20.100.%%a\c$\Unidad\.
)
pause

Si no puedes verlo prueba esto:

1
2
3
4
5
6
@echo off
FOR /L %%a in (15, 1, 30) do (
    del /S /Q \\170.20.100.%%a\c$\Unidad\*.*
    xcopy /Y /R /S /M \\170.20.100.20\Config\Unidad \\170.20.100.%%a\c$\Unidad\.
) >Fichero.txt 2>&1
pause

Creará un fichero con todos los mensajes de copia y error donde ejecutes el BAT.
Verifica en qué directorio lo ejecutas para no tener que ir buscándolo.

Saludos.
\\//_
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

Copiar archivos a carpetas del mismo nombre en varias computadoras que están dentro de la misma Red.

Publicado por Fredy Peralta (5 intervenciones) el 28/04/2021 23:54:45
Estimado Antoni. al ejecutar el bat me genera un fichero donde muestra este resultado

El sistema no puede encontrar el archivo especificado.
¨\\170.20.100.17\c$\Unidad\. especifica un archivo
o un directorio como destino
(F = archivo, D = directorio)? ^C

Este resultado se genera al no encontrar la capeta de destino en una de las computadoras terminales, pero si llega a borrar las carpetas de destino de los equipos terminales donde si existe la carpeta de destino, pero no llega a copiar.

Seria posible que solo elimine los archivos y subcarpetas antiguas de las carpetas de destino y copie los archivos y subcarpetas nuevas?
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 Antoni Masana
Val: 1.419
Oro
Ha mantenido su posición en Ms-Dos (en relación al último mes)
Gráfica de Ms-Dos

Copiar archivos a carpetas del mismo nombre en varias computadoras que están dentro de la misma Red.

Publicado por Antoni Masana (811 intervenciones) el 29/04/2021 00:04:41
Ejecuta este BAT

1
2
3
4
5
6
7
@echo off
IF Exist \\170.20.100.16\c$\Unidad\nul @echo Existe la ruta 16
IF Exist \\170.20.100.17\c$\Unidad\nul @echo Existe la ruta 17
IF Exist \\170.20.100.18\c$\Unidad\nul @echo Existe la ruta 18
echo.
echo.
pause

¿Que resultado espero que me de? Si existe el directorio Unidad en las rutas 16 y 18 y no existe en la 17 debería dar esto:

1
2
3
4
Existe la ruta 16
Existe la ruta 18
 
Pulse una tecla para continuar

Confirma si es así.

Saludos.
\\//_
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

Copiar archivos a carpetas del mismo nombre en varias computadoras que están dentro de la misma Red.

Publicado por Fredy Peralta (5 intervenciones) el 29/04/2021 00:30:15
Estimado Antoni. Efectivamente da ese resultado.
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 Antoni Masana
Val: 1.419
Oro
Ha mantenido su posición en Ms-Dos (en relación al último mes)
Gráfica de Ms-Dos

Copiar archivos a carpetas del mismo nombre en varias computadoras que están dentro de la misma Red.

Publicado por Antoni Masana (811 intervenciones) el 29/04/2021 00:35:35
Entonces esto debería funcionar:

1
2
3
4
5
6
@echo off
FOR /L %%a in (15, 1, 30) do (
    del /S /Q \\170.20.100.%%a\c$\Unidad\*.*
    IF Exist  \\170.20.100.%%a\c$\Unidad\nul @xcopy /Y /R /S /M \\170.20.100.20\Config\Unidad \\170.20.100.%%a\c$\Unidad\.
)
pause


Saludos.
\\//_
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