Página 1 de 1
Usando o PKZIP atravez do comando run com senha
Enviado: 04 Fev 2005 15:00
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
Enviado: 04 Fev 2005 15:53
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
Enviado: 04 Fev 2005 15:54
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