Aca te va un ejemplo, recorda que para hacerlo debes ser unico usuario en el sistema y debes tener el WINRAR.EXE v2.70 en alguna carpeta del path de tu aplicación. Suerte
USE archivo1 EXCLUSIVE
IF VERR=1
MESSAGEBOX('ARCHIVOS OCUPADOS',0+48,'COLLEGE XXI')
VERR=0
DO prg_FOP
RETURN
ENDIF
use archivo2 exclusive
if verr=1
messagebox('ARCHIVOS OCUPADOS',0+48,'COLLEGE XXI')
verr=0
do prg_fop
return
endif
&& asi tantos USE EXCLUSIVE como archivos tengas
CLOSE ALL
***********************************************
AA=curdir() &&& UNIDAD+DIRECTORIOS
CF=0
wn="SECRE.RAR"
CICLO='Ud. va a resguardar la información de (nombre del sistema) en el archivo '+wn
ley='Si el tamaño de la copia supera la capacidad de un diskette la misma se partirá, automáticamente, '
ley=ley+'generando un primer archivo con extensión ".Rar" y los siguientes ".R00/R01...". '
ley1='Si se selecciona la Unidad "A" para guardar la copia el proceso le solicitará los nuevos volúmenes cuando los necesite, '
ley1=ley1+'si selecciona una carpeta del disco rígido el proceso guardará en ella todos los archivos generados.'
LEY2='Seleccione Unidad o carpeta donde desea guardar la Copia de Resguardo.'
DO FORM frm_COPIA && muestra las variables LEYx y dos botones "ACEPTAR" y "CANCELAR" devolviendo CF = 1 "ACEPTAR" CF = 2 "CANCELAR"
IF CF=2
DO prg_FOP
RETURN
ENDIF
NC=PUTFILE('Nombre Copia','&WN','Rar')
IF EMPTY(NC)
MESSAGEBOX('Copia de Resguardo CANCELADA',0+48,'COLLEGE XXI')
DO prg_FOP
RETURN
ENDIF
IF FILE('&NC')
pp=MESSAGEBOX('La copia ya existe. ¿Desea sobreescribirla?',32+4,'Collegexxi')
IF PP=7
MESSAGEBOX('Copia de Resguardo Cancelada',48,'Collegexxi')
DO prg_FOP
RETURN
endif
ERASE &NC
ENDIF
IF !FILE('LISTA.TXT')
MESSAGEBOX('Falta el archivo Lista.txt'+chr(13)+'Copia de Resguardo CANCELADA',0+16,'Collegexxi')
DO prg_FOP
RETURN
ENDIF
RUN/N WINRAR A -V1400 &NC @LISTA.TXT
WAIT WIND 'Presione una tecla al finalizar. Asegúrese que el proceso no esté "minimizado"'
DO prg_FOP
MESSAGEBOX('Copia de Resguardo FINALIZADA',0+48,'COLLEGE XXI')
RETURN
PROCEDURE prg_FOP
CLEAR
close table all
RETURN
el archivo LISTA.TXT contiene las extenciones a copiar ej:
*.DBF
*.FPT
*.FRT
*.FRX