Author | Topic: Zipping Files | |
---|---|---|
Chris Palmer | Zipping Files on Mon, 25 Mar 2019 11:06:43 +0000 Hello To compress ( backup ) data, we use 7Z.EXE as follows :- ID_Run="/c 7z a -tzip "+qzipname+" "+qfiletoZip+" -y" runshell(ID_run,,,.f.) However, more and more of our clients are having their command prompts disabled, and are blocking external programs - in this case 7Z.EXE Is there any other way to compress/zip files from the system ? They will need to be passworded Thanks Chris PS: Version 2.00.554 | |
Matej Jurac | Re: Zipping Files on Mon, 25 Mar 2019 14:23:50 +0100 You can use CreateObject("Shell.Application") and add files into .zip (via OS). There was discussion here some time ago here in one of groups and it works allright for regular .zip files. Chris Palmer <chris@towerlotteries.com> wrote in message news:46389429$5ffbfe66$1820@news.alaska-software.com... >Hello > >To compress ( backup ) data, we use 7Z.EXE as follows :- > >ID_Run="/c 7z a -tzip "+qzipname+" "+qfiletoZip+" -y" >runshell(ID_run,,,.f.) > >However, more and more of our clients are having their command prompts >disabled, and are blocking external programs - in this case 7Z.EXE > >Is there any other way to compress/zip files from the system ? >They will need to be passworded > >Thanks >Chris > >PS: Version 2.00.554 | |
Jim Lee | Re: Zipping Files on Mon, 25 Mar 2019 21:18:36 +0100 hi, use for "Copyhere" API Function this Way FUNCTION ZIPFILE(cZipFile, cDestFolder) /********************************************** * create TEST1.ZIP from Alaska Directory ( recursive all Folder ) * ZIPFILE("C:\TEMP\TEST1.ZIP", "c:\ALASKA\XPPW32\") **********************************************/ LOCAL oNameDest oShell := CreateObject("Shell.Application") oNameSrc := oShell:NameSpace(cZipFile) oNameDest := oShell:NameSpace(cDestFolder) nFiles := oNameDest:items():Count() oNameSrc:CopyHere(oNameDest:items(), FOF_NOCONFIRMATION) oNameDest:destroy() oNameSrc:destroy() oShell:destroy() --- Diese E-Mail wurde von AVG auf Viren geprüft. http://www.avg.com | |
Carlos A Beling | Re: Zipping Files on Sat, 30 Mar 2019 13:19:56 -0300 Hello Jim: good afternoon. I tried to execute this function and I could not to make it works. Could you, please, correct what is going wrong in the attached file? Excuse me the comments in portuguese. Please ignore them. Fraternally Beling Em 25/03/2019 17:18, Jim Lee escreveu: > hi, > > use for "Copyhere" API Function this Way > > > FUNCTION ZIPFILE(cZipFile, cDestFolder) > /********************************************** > * create TEST1.ZIP from Alaska Directory ( recursive all Folder ) > * ZIPFILE("C:\TEMP\TEST1.ZIP", "c:\ALASKA\XPPW32\") > **********************************************/ > LOCAL oNameDest > > oShell := CreateObject("Shell.Application") > oNameSrc := oShell:NameSpace(cZipFile) > > oNameDest := oShell:NameSpace(cDestFolder) > nFiles := oNameDest:items():Count() > oNameSrc:CopyHere(oNameDest:items(), FOF_NOCONFIRMATION) > > oNameDest:destroy() > oNameSrc:destroy() > oShell:destroy() > > > > --- > Diese E-Mail wurde von AVG auf Viren geprüft. > http://www.avg.com > TestZip.zip | |
Jim Lee | Re: Zipping Files on Sun, 31 Mar 2019 05:11:02 +0200 > I tried to execute this function and I could not to make it works. > Could you, please, correct what is going wrong in the attached file? > Excuse me the comments in portuguese. Please ignore them. FErase('C:\TestZip\TestZip.zip') FCreate('C:\TestZip\TestZip.zip') wrong Syntax ZipFile_('C:\TestZip', 'C:\TestZip\TestZip.zip') FUNCTION ZIPFILE(cZipFile, cDestFolder) cZipFile : do not create in Root cDestFolder : Foldername (full-path), not ZIP Filename ZipFile_('C:\TestZip\TestZip.zip', "C:\MyWork\") Backslash "\" at End p.s. run in Thread and wait until finish ! --- Diese E-Mail wurde von AVG auf Viren geprüft. http://www.avg.com | |
Carlos A Beling | Re: Zipping Files on Tue, 02 Apr 2019 12:23:32 -0300 Hello Jim: good afternoon. Sorry to bother you. The problem is that I tried of many ways to zip the files according to the example posted here and I did not could to do it. Could you, or any other, being patient with me and take a look in the test attached and to point to me how (and if it is possible) to correct the problem? Fraternally Beling Em 31/03/2019 00:11, Jim Lee escreveu: >> I tried to execute this function and I could not to make it works. >> Could you, please, correct what is going wrong in the attached file? >> Excuse me the comments in portuguese. Please ignore them. > > FErase('C:\TestZip\TestZip.zip') > FCreate('C:\TestZip\TestZip.zip') > wrong Syntax > ZipFile_('C:\TestZip', 'C:\TestZip\TestZip.zip') > > FUNCTION ZIPFILE(cZipFile, cDestFolder) > > cZipFile : do not create in Root > cDestFolder : Foldername (full-path), not ZIP Filename > > ZipFile_('C:\TestZip\TestZip.zip', "C:\MyWork\") Backslash > "\" at End > > p.s. run in Thread and wait until finish ! > > > > --- > Diese E-Mail wurde von AVG auf Viren geprüft. > http://www.avg.com > TestZip.zip | |
Jim Lee | Re: Zipping Files on Wed, 03 Apr 2019 01:25:40 +0200 hi, you are right, something is going wrong OK oShell := CreateObject("Shell.Application") not create ? oNameSrc := oShell:NameSpace(cZipFile) i have to make more Test why it don't work any more --- as i normal use single files, not folder, have a look at public.xbase++.activex 3. Juni 2012 01:12 Re: docx, zip/unzip edit document.xml and public.xbase++.generic 1. Juli 2015 Re: UnZip you will find Info about ZIP Header and how to check if CopyHere() have store files already before use next file to compress --- Diese E-Mail wurde von AVG auf Viren geprüft. http://www.avg.com | |
Carlos A Beling | Re: Zipping Files on Wed, 03 Apr 2019 16:31:14 -0300 Hello Jim. Good afternoon. Only the line (the goal) oNameSrc:CopyHere(oNameDest:items(), nOperation) does not work any way. Fraternally Beling Em 02/04/2019 20:25, Jim Lee escreveu: > hi, > > you are right, something is going wrong > > OK > oShell := CreateObject("Shell.Application") > not create ? > oNameSrc := oShell:NameSpace(cZipFile) > > i have to make more Test why it don't work any more > > --- > > as i normal use single files, not folder, have a look at > > public.xbase++.activex > 3. Juni 2012 01:12 > Re: docx, zip/unzip edit document.xml > > and > > public.xbase++.generic > 1. Juli 2015 > Re: UnZip > > you will find Info about ZIP Header and how to check if CopyHere() have > store files already before use next file to compress > > > > --- > Diese E-Mail wurde von AVG auf Viren geprüft. > http://www.avg.com > | |
Jim Lee | Re: Zipping Files on Thu, 04 Apr 2019 05:12:30 +0200 hi, > Only the line (the goal) oNameSrc:CopyHere(oNameDest:items(), nOperation) > does not work any way. the Error is in that line, right but it say oNameSrc = NIL so it is the line before --- it seems ZIP Header must create first so oShell:NameSpace(cZipFile) can open it. it is like a empty DBF just Header but now you can "APPEND" next --- LOCAL aHead := {80,75,5,6,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} nHandle := FCreate( cZipFile, FC_NORMAL ) iMax := LEN(aHead) FOR i := 1 TO iMax FWrite( nHandle, CHR( aHead[i]) ) NEXT FClose( nHandle ) create COM Object oShell := CreateObject("Shell.Application") oZIP := oShell:NameSpace(cZipFile) --- Diese E-Mail wurde von AVG auf Viren geprüft. http://www.avg.com | |
Carlos A Beling | Re: Zipping Files on Thu, 04 Apr 2019 11:35:06 -0300 Hi. Good morning. Here is the correction. Many thanks. Fraternally Beling Em 04/04/2019 00:12, Jim Lee escreveu: > hi, > >> Only the line (the goal) oNameSrc:CopyHere(oNameDest:items(), nOperation) >> does not work any way. > > the Error is in that line, right > but it say oNameSrc = NIL so it is the line before > > --- > > it seems ZIP Header must create first so > oShell:NameSpace(cZipFile) > can open it. > > it is like a empty DBF just Header but now you can "APPEND" next > > --- > > LOCAL aHead := {80,75,5,6,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} > > nHandle := FCreate( cZipFile, FC_NORMAL ) > iMax := LEN(aHead) > FOR i := 1 TO iMax > FWrite( nHandle, CHR( aHead[i]) ) > NEXT > FClose( nHandle ) > > create COM Object > > oShell := CreateObject("Shell.Application") > oZIP := oShell:NameSpace(cZipFile) > > > > --- > Diese E-Mail wurde von AVG auf Viren geprüft. > http://www.avg.com > TestZip.zip | |
Carlos A Beling | Re: Zipping Files on Thu, 04 Apr 2019 17:47:24 -0300 Hello Jim: good afternoon. I made some experiences with :CopyHere() and I attached here the new one program. The problem that exists yet is that it is needed a wait time after :CopyHere() for all files to be processed. Please see the line 69 of the attach example. Do you know how to calculate it? Another annoying thing is that whem it finds an empty folder is given a message. Is it possible avoid it? Fraternally Beling Em 04/04/2019 11:35, Carlos A Beling escreveu: > Hi. > Good morning. > Here is the correction. > Many thanks. > > Fraternally > Beling > > > Em 04/04/2019 00:12, Jim Lee escreveu: >> hi, >> >>> Only the line (the goal) oNameSrc:CopyHere(oNameDest:items(), >>> nOperation) >>> does not work any way. >> >> the Error is in that line, right >> but it say oNameSrc = NIL so it is the line before >> >> --- >> >> it seems ZIP Header must create first so >> oShell:NameSpace(cZipFile) >> can open it. >> >> it is like a empty DBF just Header but now you can "APPEND" next >> >> --- >> >> LOCAL aHead := {80,75,5,6,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} >> >> nHandle := FCreate( cZipFile, FC_NORMAL ) >> iMax := LEN(aHead) >> FOR i := 1 TO iMax >> FWrite( nHandle, CHR( aHead[i]) ) >> NEXT >> FClose( nHandle ) >> >> create COM Object >> >> oShell := CreateObject("Shell.Application") >> oZIP := oShell:NameSpace(cZipFile) >> >> >> >> --- >> Diese E-Mail wurde von AVG auf Viren geprüft. >> http://www.avg.com >> TestZip.zip | |
Jim Lee | Re: Zipping Files on Fri, 05 Apr 2019 01:08:53 +0200 hi, > The problem that exists yet is that it is needed a wait time after > :CopyHere() for all files to be processed. Please see the line 69 of the > attach example. > Do you know how to calculate it? have you look at other Msg i have point to ? > Another annoying thing is that whem it finds an empty folder is given a > message. Is it possible avoid it? you have to seach on MSDN what FOF_* Constante mean https://docs.microsoft.com/en-us/windows/desktop/api/shellapi/ns-shellapi-_shfileopstructa #define FOF_MULTIDESTFILES 0x0001 #define FOF_CONFIRMMOUSE 0x0002 #define FOF_SILENT 0x0004 #define FOF_RENAMEONCOLLISION 0x0008 #define FOF_NOCONFIRMATION 0x0010 #define FOF_WANTMAPPINGHANDLE 0x0020 #define FOF_ALLOWUNDO 0x0040 #define FOF_FILESONLY 0x0080 #define FOF_SIMPLEPROGRESS 0x0100 #define FOF_NOCONFIRMMKDIR 0x0200 #define FOF_NOERRORUI 0x0400 #define FOF_NOCOPYSECURITYATTRIBS 0x0800 #define FOF_NORECURSION 0x1000 #define FOF_NO_CONNECTED_ELEMENTS 0x2000 #define FOF_WANTNUKEWARNING 0x4000 #define FOF_NORECURSEREPARSE 0x8000 ! Note : SHFileOperation contaion : copy/move/renam/delete search on www.ot4xb.com for SHFILEOPERATION.zip or "WinApi Tutor" Sample --- Diese E-Mail wurde von AVG auf Viren geprüft. http://www.avg.com | |
Carlos A Beling | Re: Zipping Files on Fri, 05 Apr 2019 18:17:23 -0300 Hello Jim: good afternoon. Many thanks again. I read all messages about ZIP it in the NGs. I tried to use :CopyHere() because it showed to be the best for my needs and depends on only of the OS. Also I looked for how to wait for the :CopyHere() finishing (according my knowledge) and I did not found out how. Furthermore how to avoid it to show the message of empty folder. Any way I thank you by yours patience and disposal in helping. In time: It has a solution that enters in infinite loop if it has empty folder: do while oNameDest:items():count() <> oNameSrc:items():count() Sleep(20) enddo Fraternally Beling Em 04/04/2019 20:08, Jim Lee escreveu: > hi, > >> The problem that exists yet is that it is needed a wait time after >> :CopyHere() for all files to be processed. Please see the line 69 of the >> attach example. >> Do you know how to calculate it? > > have you look at other Msg i have point to ? > >> Another annoying thing is that whem it finds an empty folder is given a >> message. Is it possible avoid it? > > you have to seach on MSDN what FOF_* Constante mean > https://docs.microsoft.com/en-us/windows/desktop/api/shellapi/ns-shellapi-_shfileopstructa > > #define FOF_MULTIDESTFILES 0x0001 > #define FOF_CONFIRMMOUSE 0x0002 > #define FOF_SILENT 0x0004 > #define FOF_RENAMEONCOLLISION 0x0008 > #define FOF_NOCONFIRMATION 0x0010 > #define FOF_WANTMAPPINGHANDLE 0x0020 > #define FOF_ALLOWUNDO 0x0040 > #define FOF_FILESONLY 0x0080 > #define FOF_SIMPLEPROGRESS 0x0100 > #define FOF_NOCONFIRMMKDIR 0x0200 > #define FOF_NOERRORUI 0x0400 > #define FOF_NOCOPYSECURITYATTRIBS 0x0800 > #define FOF_NORECURSION 0x1000 > #define FOF_NO_CONNECTED_ELEMENTS 0x2000 > #define FOF_WANTNUKEWARNING 0x4000 > #define FOF_NORECURSEREPARSE 0x8000 > > ! Note : SHFileOperation contaion : copy/move/renam/delete > > search on www.ot4xb.com for SHFILEOPERATION.zip or "WinApi Tutor" Sample > > > > --- > Diese E-Mail wurde von AVG auf Viren geprüft. > http://www.avg.com > | |
Jim Lee | Re: Zipping Files on Sat, 06 Apr 2019 03:55:35 +0200 hi, > Furthermore how to avoid it to show the message of empty folder. as i say : i do ZIP file so if it is a Empty Folder it does not have files ... > In time: > It has a solution that enters in infinite loop if it has empty folder: > > do while oNameDest:items():count() <> oNameSrc:items():count() > Sleep(20) > enddo YES ... you are on right Way FOR i := 1 TO nFiles ? cFile := aFiles[i] oZIP:CopyHere(cFile,xFlag) copy one file wait until all file are written xCount := 0 DO WHILE .T. nCount := oZIP:items():Count() IF nCount >= i EXIT ENDIF SLEEP(10) --- Diese E-Mail wurde von AVG auf Viren geprüft. http://www.avg.com | |
Carlos A Beling | Re: Zipping Files on Sat, 06 Apr 2019 09:29:43 -0300 Hello Jim: good morning. Again many thanks I tested the code using a folder and it worked (only with the message of empty folder): oNameSrc:CopyHere(oNameDest:items(), nOperation) nCount := oNameSrc:items():count() Espera encerrar a compactação do while oNameDest:items():count() <= nCount Sleep(20) enddo Fraternally Beling Em 05/04/2019 22:55, Jim Lee escreveu: > hi, > >> Furthermore how to avoid it to show the message of empty folder. > > as i say : i do ZIP file so if it is a Empty Folder it does not have files > ... > >> In time: >> It has a solution that enters in infinite loop if it has empty folder: >> >> do while oNameDest:items():count() <> oNameSrc:items():count() >> Sleep(20) >> enddo > > YES ... you are on right Way > > FOR i := 1 TO nFiles > ? cFile := aFiles[i] > oZIP:CopyHere(cFile,xFlag) copy one file > > wait until all file are written > > xCount := 0 > DO WHILE .T. > nCount := oZIP:items():Count() > IF nCount >= i > EXIT > ENDIF > SLEEP(10) > > > > --- > Diese E-Mail wurde von AVG auf Viren geprüft. > http://www.avg.com > | |
Carlos A Beling | Re: Zipping Files on Sat, 30 Mar 2019 13:39:34 -0300 HI JIm: For linking the program type in DOS Prompt: xpp Test -b /link:"/de" before to execute the program. Fraternally Beling Em 25/03/2019 17:18, Jim Lee escreveu: > hi, > > use for "Copyhere" API Function this Way > > > FUNCTION ZIPFILE(cZipFile, cDestFolder) > /********************************************** > * create TEST1.ZIP from Alaska Directory ( recursive all Folder ) > * ZIPFILE("C:\TEMP\TEST1.ZIP", "c:\ALASKA\XPPW32\") > **********************************************/ > LOCAL oNameDest > > oShell := CreateObject("Shell.Application") > oNameSrc := oShell:NameSpace(cZipFile) > > oNameDest := oShell:NameSpace(cDestFolder) > nFiles := oNameDest:items():Count() > oNameSrc:CopyHere(oNameDest:items(), FOF_NOCONFIRMATION) > > oNameDest:destroy() > oNameSrc:destroy() > oShell:destroy() > > > > --- > Diese E-Mail wurde von AVG auf Viren geprüft. > http://www.avg.com > | |
Edgar Borger | Re: Zipping Files on Tue, 26 Mar 2019 14:11:08 -0300 Hi Chris, how about xbzip ? use like this: oZip := XbZLibZip():New() oZip:Open( salva ) oZip:ShowProgress := .t. app := SetAppWindow() oZip:Display( app ) if oZip:IsOpen(.t.) oZip:AddDir('*.DB?', 'M:\Vendas') oZip:AddDir('*.FPT', 'M:\Vendas') oZip:AddDir('*.XPF', 'M:\Vendas') endif oZip:Close() Regards, Edgar Em 25/03/2019 08:06, Chris Palmer escreveu: > Hello > > To compress ( backup ) data, we use 7Z.EXE as follows :- > > ID_Run="/c 7z a -tzip "+qzipname+" "+qfiletoZip+" -y" > runshell(ID_run,,,.f.) > > However, more and more of our clients are having their command prompts disabled, and are blocking external programs - in this case 7Z.EXE > > Is there any other way to compress/zip files from the system ? > They will need to be passworded > > Thanks > Chris > > PS: Version 2.00.554 > > Edgar Borger Softsupply Informatica Ltda. Rua Alagoas, 48 Sao Paulo, SP 01242-000 Tel : (5511) 3159-1997 Email : softsupply@terra.com.br | |
Chris Palmer | Re: Zipping Files on Thu, 04 Apr 2019 10:15:50 +0100 Thanks Edgar However I will need to add a password to this Zip file Thanks Chris On 26/03/2019 17:11, Edgar Borger wrote: > Hi Chris, > > how about xbzip ? > use like this: > > oZip := XbZLibZip():New() > > oZip:Open( salva ) > > oZip:ShowProgress := .t. > app := SetAppWindow() > oZip:Display( app ) > > if oZip:IsOpen(.t.) > oZip:AddDir('*.DB?', 'M:\Vendas') > oZip:AddDir('*.FPT', 'M:\Vendas') > oZip:AddDir('*.XPF', 'M:\Vendas') > endif > > oZip:Close() > > Regards, > Edgar > > > Em 25/03/2019 08:06, Chris Palmer escreveu: >> Hello >> >> To compress ( backup ) data, we use 7Z.EXE as follows :- >> >> ID_Run="/c 7z a -tzip "+qzipname+" "+qfiletoZip+" -y" >> runshell(ID_run,,,.f.) >> >> However, more and more of our clients are having their command prompts >> disabled, and are blocking external programs - in this case 7Z.EXE >> >> Is there any other way to compress/zip files from the system ? >> They will need to be passworded >> >> Thanks >> Chris >> >> PS: Version 2.00.554 >> >> > > | |
Jonathan Leeming | Re: Zipping Files on Tue, 26 Mar 2019 11:58:00 -0600 On 3/25/2019 5:06 AM, Chris Palmer wrote: > Hello > > To compress ( backup ) data, we use 7Z.EXE as follows :- > > ID_Run="/c 7z a -tzip "+qzipname+" "+qfiletoZip+" -y" > runshell(ID_run,,,.f.) > > However, more and more of our clients are having their command prompts > disabled, and are blocking external programs - in this case 7Z.EXE > > Is there any other way to compress/zip files from the system ? > They will need to be passworded > > Thanks > Chris > > PS: Version 2.00.554 > > Hi Chris, Although I have not used Chilkat for ZIP file creation I have used it for other capabilities since I bought my license in April 2017 and found it solid. In looking through the capabilities of the License Bundle (there are lots!!!) it has ZIP files creation capabilities including password protection. It can be found at... https://www.chilkatsoft.com I use the 32 bit ActiveX version and there is a 30 day trial. Just check under the site menu option "Licensing". As far as using the Chilkat Libraries I use there Visual Foxpro Examples for guidance. Hope this helps... Jonathan jonathan.leeming@the-family-centre.com Edmonton, Alberta, Canada | |
Thomas Pool | Re: Zipping Files on Wed, 27 Mar 2019 14:00:25 +0100 Hi Chris, I use the AddZIP compression libs, but I don't know if they are still available somewhere... REgards, Thomas Op Mon, 25 Mar 2019 11:06:43 +0000 schreef Chris Palmer: > Hello > > To compress ( backup ) data, we use 7Z.EXE as follows :- > > ID_Run="/c 7z a -tzip "+qzipname+" "+qfiletoZip+" -y" > runshell(ID_run,,,.f.) > > However, more and more of our clients are having their command prompts > disabled, and are blocking external programs - in this case 7Z.EXE > > Is there any other way to compress/zip files from the system ? > They will need to be passworded > > Thanks > Chris > > PS: Version 2.00.554 | |
Nick Ramoundos | Re: Zipping Files on Wed, 27 Mar 2019 19:36:10 +0100 Yes Thomas, I've been using Brent Dubs take on the AddZip foundation for years and don't even think abount it. If someone wants the Source, just Email me at nramoundos at Gee Mail Dot Com Nick Ramoundos Thomas Pool wrote in news:1evjsel8xvnss$.1bidkwasfejz5.dlg@40tude.net: > > Hi Chris, > > I use the AddZIP compression libs, but I don't know if they are still > available somewhere... > > REgards, Thomas | |
Thomas Braun | Re: Zipping Files on Thu, 28 Mar 2019 16:30:31 +0100 Chris Palmer wrote: > Hello > > To compress ( backup ) data, we use 7Z.EXE as follows :- [...] > However, more and more of our clients are having their command prompts > disabled, and are blocking external programs - in this case 7Z.EXE > > Is there any other way to compress/zip files from the system ? > They will need to be passworded Not sure if this helps 7 never used it myself... this is from Andreas Gehrs-Pahl: http://www.absolutesoftwarellc.com/Products.htm#XbZLib HTH Thomas | |
Jim Lee | Re: Zipping Files on Sat, 30 Mar 2019 11:11:31 +0100 >> They will need to be passworded Ok ... Windows ZIP can decrypt Files with Passwort but you can not create passworded ZIP with Windows OS but that seems me the Problem : it need a Licence as i know XbZLib does not allowed to create passworded ZIP ... but you will find Source as Plugin --- depend on what you want to store into ZIP you might can crpyt them before store into ZIP or Cloud. !Note : IHMO you always can see what is in a ZIP File so encypt Filename to ! --- Diese E-Mail wurde von AVG auf Viren geprüft. http://www.avg.com | |
Carlos A Beling | Re: Zipping Files - CopyHere() example on Thu, 16 May 2019 17:03:41 -0300 Good afternoon. I attached an example of using Shell:nameSpace:CopyHere() for packing and unpacking files and folders for who wants to use it and, better, improve it. Fraternally Beling Em 25/03/2019 08:06, Chris Palmer escreveu: > Hello > > To compress ( backup ) data, we use 7Z.EXE as follows :- > > ID_Run="/c 7z a -tzip "+qzipname+" "+qfiletoZip+" -y" > runshell(ID_run,,,.f.) > > However, more and more of our clients are having their command prompts > disabled, and are blocking external programs - in this case 7Z.EXE > > Is there any other way to compress/zip files from the system ? > They will need to be passworded > > Thanks > Chris > > PS: Version 2.00.554 > > CopyHere.zip |