Ms-Dos - Backup - Copiado Acumulativo

 
Vista:
Imágen de perfil de Brandon

Backup - Copiado Acumulativo

Publicado por Brandon (4 intervenciones) el 04/09/2014 04:21:41
Hola mi problema es como hacer un .bat para un copiado acumulativo de archivos.
Existe un servidor donde los usuarios guardan toda su información y por otra parte esta la otra unidad de almacenamiento lo cual quiero que se comparen estos 2 con todos los archivos incluyendo carpetas y subcarpetas con la fecha de modificación y el tamaño, ya sea que la fecha haya cambiado que copie el archivo y si el peso cambio que tambien lo copie, GRACIAS.
DSC01388
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

Backup - Copiado Acumulativo

Publicado por Antoni Masana (811 intervenciones) el 04/09/2014 07:37:56
Para hacer esto con un BAT es escogido una mala herramienta pero es la que hay y tiene muy mala folla.

Seguramente se puede hacer de varias formas.

Una de ellas es usar el comando FOR para recorrer todos los ficheros del origen y con el comando FC compararlos con el destino y si son diferente IF ERRORLEVEL 1 copiarlos o hacer lo que desees, solo tiene un pequeño inconveniente y es que si cambia la fecha y no el contenido para el FC son iguales.

Con el FOR puedes extraer el tamaño y la fecha y compáralo pero te puedo asegurar que te puede dar algunos problemas por que la cosa no es tan trivial

Consulta:

1
2
3
FOR /?
SET /?
FC  /?

Intenta hacer alguna cosa y te voy ayudando.

Yo he tenido que hacer algo como lo que cuentas y me he comido las uñas hasta el codo de los nervioso que me pone.

Saludos y paciencia.
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 Brandon

Backup - Copiado Acumulativo

Publicado por Brandon (4 intervenciones) el 05/09/2014 04:46:47
amigo gracias por responder

@echo off
for /R [[C:admin] %%x in (*.*) DO echo %%x
fc /A /N /LB1 admin compartido

como veras no se nada sobre programación y bueno esto investigue y lo entendi así
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

Backup - Copiado Acumulativo

Publicado por Antoni Masana (811 intervenciones) el 05/09/2014 11:02:58
Seria algo asi


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
@echo off
 
SET Orig=C:\Mis Documentos\Origen
SET Dest=Z:\Backup\Documentos
 
cd "%Orig%"
 
FOR %%a IN (*.*) DO CALL :Copiar %%a
GOTO:EOF
 
:Copiar
   SET File=%1
 
   IF EXIST "%Dest%\%File%" GOTO Compara
   GOTO Copiar
 
:Compara
   FC "%Orig%\%File%" "%Dest%\%File%"
   IF ErrorLevel 1 GOTO Copiar
   GOTO:EOF
 
:Copiar
   XCOPY "%Orig%\%File%" "%Dest%\%File%" /V /C /Y
   IF ERRORLEVEL 1 GOTO Mal
      ECHO Copia %File% - Correcta.
      GOTO:EOF
 
:Mal
   ECHO Copia %File% - Error
   GOTO:EOF
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 Brandon

Backup - Copiado Acumulativo

Publicado por Brandon (4 intervenciones) el 07/09/2014 16:10:59
pues ya copia los archivos pero no me copia ni carpetas ni subcarpetas agrege esto para copiarlas y nada o sera que debo usar el robocopy ya q tambien son muchos archivos?

:Copiar
XCOPY "%Orig%\%File%" "%Dest%\%File%" /E /V /C /Y

y luego no se como definir que me copie los archivos que fueron modificados usando la fecha de modificacion,
lo puse en el de compara

:Compara
FC "%Orig%\%File%" "%Dest%\%File%"
IF DIR /o:n /t:a DIR /o:n /t:w
IF ErrorLevel 1 GOTO Copiar
GOTO:EOF
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

Backup - Copiado Acumulativo

Publicado por Antoni Masana (811 intervenciones) el 09/09/2014 15:53:21
El XCOPY te puede copiar ficheros y subcarpetas con la opción /S y si le pones la opción /M copia solo los modifcados.

Se de la existencia de RoboCopy pero no lo conozco porque no existe el la versión de Win XP y para mis copias utilizo el XCOPY, que además de lo dicho puedo excluir directorios y ficheros.

El sistema de Backup del MS-DOS empezo siendo una patata y esta terminando siendo una cagarrufa

Saludis
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 Brandon

Backup - Copiado Acumulativo

Publicado por Brandon (4 intervenciones) el 14/10/2014 01:11:21
Y finalmente el código quedó así:
Gracias por la ayuda Antoni Masana


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
@echo off
 
SET Orig=A:
SET Dest=B:
 
cd "%Orig%"
 
FOR %%a IN (*.*) DO CALL :Copiar %%a
GOTO:EOF
 
:Copiar
  SET File=%1
 
  IF EXIST "%Dest%\%File%" GOTO Compara
  GOTO Copia
 
:Compara
  FC "%Orig%\%File%" "%Dest%\%File%"
  IF ErrorLevel 1 GOTO Copia
  GOTO:EOF
 
:Copia
  XCOPY "%Orig%" "%Dest%" /S /E /D /Y /C /H
  IF ERRORLEVEL 1 GOTO Mal
     ECHO Copia %File% - Correcta
     GOTO:EOF
 
:Mal
  ECHO Copia %File% - Error
  GOTO:EOF
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