Hola a todos; Estoy tratando de hacer en un botón de comandos, en el evento clic, respaldos del sistema. La idea es que cuando quieran puedan hacer respaldos. Buscando en la Internet encontré el siguiente código dado por Gabriel que deseo implementar. El problema que tengo y que no doy con la solución es que siempre manda el mensaje de MESSAGEBOX("Nada para copiar en &ruta"). Que puede estar fallando, si los archivos que necesito respaldar están en la ruta "\\quique\C:\TIQUET" , Alguna sugerencia de como poder implementar.
rutaback="C:\BACKUP"
ruta="\\quique\C:\TIQUET" && ruta="\\Equipo\Carpeta\SubCarpeta"
nFiles=ADIR(gafiles,"&ruta\*.dbf")
IF nFiles=0
MESSAGEBOX("Nada para copiar en &ruta")
return 0
ENDIF
FOR i=1 TO ALEN(gafiles,1)
cFile=JUSTSTEM(GETFILE[i,1])
ldoit=.t.
lClose=.f.
IF !USED(cfile)
gFile=ADDBS(ruta)+cFile
WAIT WINDOW "abriendo &gfile como &cfile" AT 12,15 nowait
USE (gfile) IN 0 SHARED
ldoit=USED(cfile)
lClose=lDoit
ENDIF
IF ldoit
cbackFile="b_"+cfile
cFilegen=ADDBS(rutaback)+cBackFile
WAIT WINDOW "Copiando &cfile a &cBackFile en &rutaback" AT 12,15 nowait
SELECT (cfile)
AFIELDS(gaStruct)
lMemo=.f.
FOR xi=1 TO ALEN(gaStruct,1)
IF gasTruct[xi,2]="M"
lMemo=.t.
EXIT
ENDIF
NEXT
CREATE TABLE &cFilegen FREE FROM ARRAY gaStruct
SELECT (CFILE)
IF !lMemo
SCAN
SCATTER MEMVAR
INSERT INTO (cBackFile) FROM MEMVAR
ENDSCAN
else
SCAN
SCATTER MEMO MEMVAR
INSERT INTO (cBackFile) FROM MEMVAR
ENDSCAN
endif
SELECT (cBackFile)
USE
IF lClose
SELECT (CFILE)
USE
ENDIF
ENDIF
NEXT
WAIT WINDOW "terminado " AT 12,15
Muchas gracias.
ruta="\\quique\C:\TIQUET\*.dbf" && ruta="\\Equipo\Carpeta\SubCarpeta"
nFiles=ADIR(gafiles,ruta)
te sucede el mismo error?
Adjunto un formulario que uso para hacer backup cada vez que salen de sistema... en sistemas chicos con pocas tablas, y funciona muy bien.
No es diseño mio. No recuerdo quien me lo facilitó. Le hice algunas mejoras y funciona muy bien.
Crea los dias de la semana, y hace copia solo de las tablas que han tenido cambios, en el dia de la semana correspondiente.-
Espero te sirva.-
Renombrar la extension del adjunto a .rar
Saludos.-
Roberto
SAN JUAN - ARGENTINA
Gracias Enrique: Estoy tratando de ver esa posibilidad.
Fijate te paso el de otro proyecto... el anterior lo tengo andando... fijate que debe tener creada la carpeta o unidad W, a lo mejor es eso.-
Igual te paso otro
Saludos.-
Roberto
De la misma manera que me llegó a mi, esta disponible para quien le sirva.-
Saludos.-
Roberto
San Juan-Argentina
Estimados amigos.
SET DATE FRENCHcCadena = "Fecha del ültimo Respaldo: "+CDOW(DATE())+ ', ' + DTOC(DATE())+ ', Hora ' + TIME()SET SAFETY OFFSET SECONDS OFF= STRTOFILE(ccadena,"C:\BACKUP\leer.txt",0)THISFORM.RELEASEsar el código aquí...
*SALIR* Antes de salir crea un respaldo de las tablas* modificadas en el día.*------------------------* MESSAGEBOX("haré respaldo",0+64,"Respaldo")DO FORM c:\hielo\formularios\respaldo_de_seguridad_tablas.scx
CLEAR EVENTSSET SYSMENU TO DEFAULTCLEAR WINDOWCLOSE DATABASESCLOSE ALL