PROCEDURE doZip LOCAL lnWA, lcZipName, listfile, lcbatFile, logfile, lcPKZ, lcThere IF EMPTY(THIS.FILES) alert("No fresh files to zip") RETURN ENDIF lnWA=SELECT() IF NOT DIRECTORY("zips") MD zips ENDIF lcZipName=THIS.zipname listfile=FULLPATH(".\zip.lst") STRTOFILE(THIS.FILES, listfile) lcbatFile=FULLPATH(FORCEEXT(SYS(2015),"bat")) logfile=FORCEEXT(lcbatFile,"log") THIS.logfile=logfile lcPKZ=FULLPATH("pkzip25.exe") TEXT textmerge noshow to lcBat "<<lcPkz>>" -add=update -dire "<<lcZipName>>" @"<<listfile>>" >"<<logfile>>" ENDTEXT lcThere=FULLPATH(".") STRTOFILE(lcBat, lcbatFile) LOCAL oprocess AS api_apprun OF PROCESS.vcx oprocess=NEWOBJECT('api_apprun','process', '', lcbatFile, lcThere, 'HID') oprocess.LaunchAppAndWait() RELEASE oprocess ERASE (lcbatFile) SELECT (lnWA) RETURN ENDPROC