Usando o PKZIP atravez do comando run com senha

Fórum sobre a linguagem CA-Clipper.

Moderador: Moderadores

Paulao
Usuário Nível 3
Usuário Nível 3
Mensagens: 186
Registrado em: 09 Jul 2004 11:03
Localização: Franca
Contato:

Usando o PKZIP atravez do comando run com senha

Mensagem por Paulao »

Estou criando uma rotina de backup dos dbfs do sistema toda vez que se inicia o sistema e necessito saber se é possível passar estes parametros pro pkzip (nome do arquivo a ser gerado, caminho, e senha pra descompactar), alguem sabe se é possível?
Pode ser outro compactador tb.

Gde abraço

Paulão
Avatar do usuário
Clipper
Colaborador
Colaborador
Mensagens: 1334
Registrado em: 23 Ago 2004 00:04
Localização: Recife/PE

Mensagem por Clipper »

Prezado Colega

Veja abaixo exemplo usando o ARJ e o PKZIP

CLS
ARQUIVO="BACKUP.ZIP"
SENHA="FORUM"
COMANDO1="ARJ A "+ARQUIVO+" -g"+SENHA
COMANDO2="PKZIP -s"+SENHA+" "+ARQUIVO
SWPRUNCMD(COMANDO1)
SWPRUNCMD(COMANDO2)
RETURN

Até logo.

Marcelo
Programador que é programador, quando tá de folga vai inventar função nova, fazer testes, ou seja... se divertir
Cobra 210 - Drive de 8" 1.024 KB - 64 KB RAM - Impressora de Linha Cobra - Visicalc - Fortran - Dialog - Sistema Operacional SP/M (é sp/m mesmo - era o cp/m da cobra)
Avatar do usuário
Daniel
Usuário Nível 3
Usuário Nível 3
Mensagens: 373
Registrado em: 13 Ago 2003 22:42
Localização: Apucarana - PR

Mensagem por Daniel »

aqui vai um exemplo do que eu uso , ele faz backup a cada dois dias e gera 4 arquivos

Código: Selecionar todos

   xddata:= " "
   xddata1:= " "
   While .T.
      If (File("\DBF\BACKUP.CFG"))
         var:= MemoRead("\DBF\BACKUP.CFG")
         xdta:= Date() - CToD(SubStr(var,1,10))
         If xdta >= 0 .And. xdta <= 365
            While .t.
               SetCursor(0)
               Beep()
               Beep()
               xdt:= (Date() + 2)
               Telacor("R+","W")
               @ 10,  9 To 16, 71
               @ 12, 11 Say "Insira Disquete de Backup no Zip Draive"
               Telacor("W+*","W+*")
               @ 12, 51 Say "F:"
               Telacor("R+","W")
               @ 12, 54 Say "e Pressione Enter"
               @ 14, 15 Say "Empresa:  Vr, kipapel e Jr"
               InKey(0)
               var:= MemoRead("\DBF\BACKUP.CFG")
               xdta:= Date() - CToD(SubStr(var,1,10))
               xdta1:=(SubStr(var,11,1))
               If xdta1 == "1"
                  xk:= "2"
               ElseIf xdta1 == "2"
                  xk:= "3"
               Elseif xdta1 == "3"
                  xk:= "4"
               ElseIf xdta1 == "4"
                  xk:= "1"
               EndIf
               If xdta < 0
                  Exit
               EndIf
               Telacor("W+","W")
               Run PkZip -a -ex -s[daniel] kipapel \kipapel\*.dbf
               xnw1:= xk + "kipapel.zip"
               Copy File kipapel.zip To F:\&xnw1
               xnw1:= "F:\" + xk + "kipapel.zip"
               If !(File(xnw1))
                  Cls
                  Telacor("R+*","W*")
                  Beep()
                  Beep()
                  @ 12, 20 Say "Copia nÆo efetuada tente de novo"
                  Telacor("W+","W")
                  InKey(4)
                  cls
                  Loop
               EndIf
               Erase kipapel.zip
               Run PkZip -a -ex -s[daniel] vr \menu\*.dbf
               xnw1:= xk + "vr.zip"
               Copy File vr.zip To F:\&xnw1
               xnw1:= "F:\" + xk + "vr.zip"
               If ! (File(xnw1))
                  Cls
                  Telacor("R+*","W*")
                  Beep()
                  Beep()
                  @ 12, 20 Say "Copia nÆo efetuada tente de novo"
                  Telacor("W+","W")
                  InKey(4)
                  cls
                  Loop
               EndIf
               Erase vr.zip
               Run PkZip -a -ex -s[daniel] jr \jr\*.dbf
               xnw1:= xk + "jr.zip"
               Copy File jr.zip To F:\&xnw1
               xnw1:= "F:\" + xk + "jr.zip"
               If ! (File(xnw1))
                  Cls
                  Telacor("R+*","W*")
                  Beep()
                  Beep()
                  @ 12, 20 Say "Copia nÆo efetuada tente de novo"
                  Telacor("W+","W")
                  InKey(4)
                  cls
                  Loop
               EndIf
               Erase jr.zip
               Run PkZip -a -ex -s[daniel] dbf \dbf\*.dbf
               xnw1:= xk + "dbf.zip"
               Copy File dbf.zip To F:\&xnw1
               xnw1:= "F:\" + xk + "dbf.zip"
               If ! (File(xnw1))
                  Cls
                  Telacor("R+*","W*")
                  Beep()
                  Beep()
                  @ 12, 20 Say "Copia nÆo efetuada tente de novo"
                  Telacor("W+","W")
                  InKey(4)
                  cls
                  Loop
               EndIf
               Erase dbf.zip
               SetCursor(1)
               aFile1:= {}
               aDir:= Directory("F:\" + xk + "*.ZIP" , "D")
               Aeval(aDir,{|aFile| AADD(aFile1, aFile[F_DATE])})
               If Len(aFile1) < 2
                  Cls
                  Telacor("R+*","W*")
                  Beep()
                  Beep()
                  @ 12, 20 Say "Backup NÆo efetuado tente de novo"
                  Telacor("W+","W")
                  InKey(4)
                  cls
                  Loop
               EndIf
               For x:= 1 To Len(aFile1)
                  If Date() != AFile1[x]
                     cls
                     Telacor("R+*","W*")
                     Beep()
                     Beep()
                     @ 12, 20 Say "Backup NÆo efetuado tente de novo"
                     Telacor("W+","W")
                     InKey(4)
                     cls
                     Loop
                  EndIf
               Next
               MemoWrit("\DBF\BACKUP.CFG",DToC(xdt) + xk)
               Exit
            End
         Endif
      Else
         MemoWrit("\DBF\BACKUP.CFG",DToC(Date()) + "1")
*         Loop
      EndIf
      Exit
   End
Daniel

Harbour + Minigui + dbfcdx
Marinas-Gui Pena que parou o suporte
Responder