El origen y destino de los archivos estan indicados en un archivo de configuracion (CFG en este ejemplo)
----------back01.bat-------------
@ECHO OFF
REM BACK v0.1
REM CREADO EL dom ene 08 18:44:21 CST 2006
REM POR STORMBRINGER
REM BAJO UNA LICENCIA CREATIV COMMONS
REM Atribución-NoComercial-CompartirDerivadasIgual 2.50
REM http://creativecommons.org/licenses/by-nc-sa/2.5/
REM http://creativecommons.org/licenses/by-nc-sa/2.5/legalcode
REM -LIMITACION DE RESPONSABILIDADES-
REM EL CREADOR NO SE HACE RESPONSABLE POR UN USO
REM MALINTENCIONADO O DAÑOS CAUSADOS POR EL USO DE ESTE ARCHIVO.
REM COPIA ARCHIVOS DE UN PUNTO A OTRO,
REM DE FORMA QUE SOLO SE COPIEN ARCHIVOS NUEVOS Y
REM SE SOBREESCRIBAN LOS QUE TENGAN UNA FEHA DE CREACION
REM POSTERIOR A LOS EXISTENTES
REM VARIABLES Y CONFIGURACION
REM SE ASUMEN LOS SIGUIENTES DATOS:
REM 1-QUE EL NOMBRE DEL EQUIPO REMOTO ES [REQUIPO] SIN LOS BACKSLASH (\\).
REM 2-EL EQUIPO REMOTO TIENE QUE PODER SER ACCEDIDO POR EL USUARIO
REM SIN NESESIDAD DE PASSWORD (A MODOFOCAR EN VERSIONES POSTERIORES).
REM 3-QUE LA CARPETA/DIRECTORIO ES [%USERNAME%].
REM 4-QUE LA UNIDAD LOGICA DONDE SE VA A VER (MAPEAR) EL EQUIPO ES [Y].
REM 5-QUE EL ARCHIVO CON LOS LOGS ES [LOGS.LOG].
REM 6-QUE EL ARCHIVO CON LOS DIRECTORIOS/CARPETAS A RESPALDAR Y LOS
REM DESTINOS ESTAN EN EL ARCHIVO [CFG].
REM NOMBRE DEL EQUIPO REMOTO
SET EQREMOTO=REQUIPO
REM DIRECTORIO REMOTO
SET DRREMOTO=%USERNAME%
REM UNIDAD A MAPEAR
SET UNIDAD=Y
REM ARCHIVO CON PATHS A RESPALDAR/COPIAR
SET CFG=CFG
REM ARCHIVO CON LOS LOGS
SET LOGS=LOGS.LOG
REM CARGA CAJA DE INICIO
REM TMP CONTIENE LA ETIQUETA DE UN GOTO VARIABLE
SET TMP=PROC
GOTO MSG0
REM **************************
REM PROCESO PRINCIPAL
:PROC
REM CHECA SI EXISTE EL ARCHIVO CON LOS PATHS
REM EN CASO DE NO EXISTIR MUESTRA UNA CAJA DE ERROR Y TERMINA
if NOT exist %CFG% GOTO MSERR
REM AGREGA AL ARCHIVO LOG
ECHO --------------------------------------------[%date% %TIME%]--- >> %LOGS%
REM MAPEA UNIDAD
NET USE %UNIDAD%: \\%EQREMOTO%\%DRREMOTO% >> %LOGS%
GOTO MSGPROC
:PROCESO1
REM COPIA
REM NO SE USA
REM y /d /e /c /f /h /z %ORIGEN% %UNIDAD%:\ >> %LOGS%
ECHO . >> %LOGS%
REM LEE RECURSIVAMENTE EL ARCHIVO CON LOS PATHS Y HACE EL XCOPY
REM for /F "eol=" %%i in (%CFG%) do xcopy /d /e /c /f /h /z %%i %UNIDAD%:\ >> %LOGS%
for /F "eol=; tokens=1,2* delims= " %%i in (%CFG%) do xcopy /I /Y /d /e /c /f /h /K /R /z %%i %UNIDAD%:\%%j >> %LOGS%
REM @echo UNO: (%i) DOS: (%j)
REM QUITA MAPEADO
ECHO . >> %LOGS%
NET USE %UNIDAD%: /DEL >> %LOGS%
REM AGREGA AL ARCHIVO LOG
ECHO --------------------------------------------[TERMINADO]--- >> %LOGS%
SET TMP=FIN
GOTO MSG1
REM ************************************
REM ************************************
REM CAJAS
:MSGPROC
@CLS
ECHO ....RESPALDO DE ARCHIVOS.................................
ECHO . .
ECHO . COPIANDO ARCIVOS, NO CIERRE ESTA VENTANA .
ECHO . .
ECHO .........................................................
GOTO PROCESO1
:MSGERR
@CLS
ECHO ....RESPALDO DE ARCHIVOS.................................
ECHO . ERROR .
ECHO . EL ARCHIVO %CFG% CON LAS RITAS NO EXITE .
ECHO . .
ECHO .........................................................
GOTO FIN
:MSG0
@CLS
ECHO ....RESPALDO DE ARCHIVOS.................................
ECHO . .
ECHO . POR FAVOR CIERRE OUTLOOCK Y LOS DOCUMENTOS .
ECHO . QUE TENGA ABIERTOS (EXCEL, WORD, ETC...) .
ECHO . Y PRECIONE CUALQUIER TECLA PARA EMPEZAR O .
ECHO . [CONTROL+C] PARA CANCELAR ESTE PROCESO .
ECHO . .
ECHO . *** ESTE PROCESO ACTUALIZA (SOBRE-ESCRIBE) *** .
ECHO . *** LOS ARCHIVOS EXISTENTES *** .
ECHO .........................................................
PAUSE
GOTO %TMP%
:MSG1
@CLS
ECHO ....RESPALDO DE ARCHIVOS.................................
ECHO . .
ECHO . PROCESO TERMINADO .
ECHO .........................................................
PAUSE
GOTO %TMP%
:FIN
----------------EOF----------------
Este es el archivo de configuracion.
La forma del archivo es:
origen destinoDonde el origen es obligatorio, mientras que el destino es opcional
------------------CFG-------------
; FORMA DE ARCHIVO:
;
; DONDE ES EL NOMBRE DEL DIRECTORIO RAIZ DONDE SE VAN A
; COPIAR LOS ARCIVOS. SI NO EXISTE LO CREA
;
;EJEMPLO:
;"C:\MIS DOCUMENTS" DOCS1
;COPOIA TODOS LOS ARCHIVOS Y DIRECTORIOS DE "C:\MIS DOCUMENTS" AL DESTINO,
; DENTRO DEL DIRECTORIO "DOCS1"
; SI EL DIRECTORIO-DESTINO SE OMITE, TODO SE COPIA EN LA RAIZ DE LA UNIDAD MAPEADA
;EL ESPACIO ENTRE EL ORIGEN Y EL DESTINO ES OBLIGATORIO, EN EL CASO DE ARCHIVOS
; Y CARPETAS/DIRECTORIOS CON NOMBRES COMPUESTOS (TIPO MIS DOCUMENTOS) TIENEN
; QUE IR ENCERADOS ENTRE COMILLAS ""
;copia el contenido de D:\bar en la raiz de D:\bar
;copia el contenido de D:\foo en \foo\bar
"D:\foo bar" foo\bar
------------EOF----------



0 comments:
Publicar un comentario en la entrada