Compactador via prompt.

Fórum sobre ferramentas de apoio à programação (Clipper/[x]Harbour)

Moderador: Moderadores

Maurício Elias
Usuário Nível 3
Usuário Nível 3
Mensagens: 304
Registrado em: 12 Mai 2005 08:48

Compactador via prompt.

Mensagem por Maurício Elias »

Olá, boa tarde.
Eu utilizo o ARJ.EXE no meu Sistema para atualizar tabelas.
Mas no 64 bits creio que ele não vai funcionar.
Qual compac/descompac vcs me indicam prá utilizar no meu Sistema, via RUN ?
Estou compilando em Harbour modo console.
Abraços.
_______
Maurício
yugi386
Usuário Nível 2
Usuário Nível 2
Mensagens: 82
Registrado em: 24 Jul 2008 10:36
Localização: Minas Gerais

Compactador via prompt.

Mensagem por yugi386 »

Prezado Maurício,

Já existe o arj para 32 que roda em 64 bits. Faça o download direto do site do fabricante: http://www.arjsoftware.com/files.htm

Mas você pode usar o próprio Harbour para criar arquivos ZIP.

Para Zipar: https://github.com/harbour/core/blob/ma ... s/zipa.prg

Para descompactar:https://github.com/harbour/core/blob/ma ... unzipa.prg

O ARJ não é gratuito para uso comercial: http://www.arjsoftware.com/faq.htm#o1

Uma alternativa gratuita seria o 7ZIP que também pode ser usado via linha de comando: http://linwin33.blogspot.com.br/2008/06 ... mando.html

att,

Yugi
Avatar do usuário
Toledo
Administrador
Administrador
Mensagens: 3133
Registrado em: 22 Jul 2003 18:39
Localização: Araçatuba - SP
Contato:

Compactador via prompt.

Mensagem por Toledo »

Maurício Elias escreveu:Estou compilando em Harbour modo console.
Maurício, porque você não faz a compactação/descompactação dentro do seu programa mesmo, com o Harbour você pode fazer isto, veja um exemplo:

Código: Selecionar todos

/****************************************
* Compilar: hbmk2 demozip.prg -lhbziparc -lhbmzip -lminizip
****************************************/
PROCEDURE Main()
   LOCAL cTipo := "1"
   LOCAL cDestino:=left("C:\"+CurDir()+spac(100),100)
   LOCAL cOrigem:=left("C:\"+CurDir()+"\*.DBF"+spac(100),100)
   LOCAL cSenha:=SPAC(10)
   LOCAL aArq:={}
   LOCAL c_ExtArq:="bck"  //extensao do arquivo que sera criado

   CLS
   SETMODE(25,80)

   DO WHILE .T.
      @ 5, 1 TO 13, 78
      @ 10,2 SAY REPL("-",76)
      @ 12,3 say REPL(".",74)
      @ 6,23 SAY "(1-Backup/2-Restaura)"
      @ 6, 3 SAY "Tipo............:" GET cTipo VALID (cTipo$[12])
      READ
      IF LASTKEY()=27
       EXIT
      ENDIF
      IF cTipo="2"
       cOrigem:=left("C:\"+CurDir()+"\backup."+c_ExtArq+spac(100),100)
      ENDIF
      @ 7, 3 SAY "Arquivo Origem..:" GET cOrigem PICT "@S56"
      @ 8, 3 SAY "Drive Destino...:" GET cDestino PICT "@S56"
      @ 9, 3 SAY "Senha...........:" GET cSenha PICT "@!"
      READ
      IF LASTKEY()=27
       EXIT
      ENDIF
      IF !FILE(ALLTRIM(cOrigem))
       Alert("Arquivo "+ALLTRIM(cOrigem)+";Nao encontrado!")
       LOOP
      ENDIF
      IF RIGHT(ALLTRIM(cDestino),1)!="\"
       cDest:=ALLTRIM(cDestino)+"\NUL"
       cArqZip:=ALLTRIM(cDestino)+"\backup."+c_ExtArq
      ELSE
       cDest:=ALLTRIM(cDestino)+"NUL"
       cArqZip:=ALLTRIM(cDestino)+"backup."+c_ExtArq
      ENDIF
      IF !FILE(cDest)
       Alert("O Drive "+ALLTRIM(cDestino)+";Nao encontrado!")
       LOOP
      ENDIF
      IF cTipo="1"
       aArq:={}
       IF "*" $ cOrigem
        aDir1 := directory(ALLTRIM(cOrigem))
        vPasta:= LEFT(cOrigem,RAT("\",cOrigem))
        for x=1 to len(aDir1)
         aadd(aArq,vPasta+aDir1[x,1])
        next
       ELSE
         aadd(aArq,ALLTRIM(cOrigem))
       ENDIF
       nTotal:=Len(aArq)

       hb_zipfile( cArqZip,aArq, 9,{|cFile,nPos| eProgresso( cFile, nPos,nTotal) },.t.,ALLTRIM(cSenha),.F.,.F., )

      ELSE
       cDest:=ALLTRIM(cDestino)
       IF RIGHT(ALLTRIM(cDestino),1)!="\"
        cDest+="\"
       ENDIF

       aArq:=hb_GetFilesInZip(ALLTRIM(cOrigem))
       nTotal:=Len(aArq)
       hb_UnzipFile( ALLTRIM(cOrigem),{|cFile,nPos| eProgresso( cFile, nPos,nTotal) },,ALLTRIM(cSenha),cDest,aArq)

      ENDIF
      EXIT
   ENDDO
RETURN

************************************
Function eProgresso(vtxt,xPerc,wTot)
************************************
Local nPre:=(xPerc*100)/wTot,;
      nBar:=(nPre*74)/100
@ 11,3 say "Concluido..: "+str(nPre,3,0)
@ 11,21 say "Arquivo: "+LEFT(vtxt+SPAC(40),44)
@ 12,3 say REPL("X",INT(nBar))
return nil
Abraços,
Toledo - Clipper On Line
toledo@pctoledo.com.br
Harbour 3.2/MiniGui/HwGui
Faça uma doação para o fórum, clique neste link: http://www.pctoledo.com.br/doacao
Maurício Elias
Usuário Nível 3
Usuário Nível 3
Mensagens: 304
Registrado em: 12 Mai 2005 08:48

Compactador via prompt.

Mensagem por Maurício Elias »

Obrigado pelas dicas pessoal. Vou fazer meus testes aq...
Abraços.
_______
Maurício
Avatar do usuário
rochinha
Administrador
Administrador
Mensagens: 4664
Registrado em: 18 Ago 2003 20:43
Localização: São Paulo - Brasil
Contato:

Compactador via prompt.

Mensagem por rochinha »

Amiguinho,

Se voce estiver usando Windows, não precisa se preocupar com WinRAR, 7Zip, etc.

Pelo menos no Windows Server 2003, Windows Seven e Windows Server 2008, os quais uso constantemente voce pode usar o comando ZIP.

Na pasta SYSTEM32 do Windows te um executável chamado zip.exe

Digite zip no prompt do DOS para ver a sintaxe.
OPS! LINK QUEBRADO? Veja ESTE TOPICO antes e caso não encontre ENVIE seu email com link do tópico para [url=mailto://fivolution@hotmail.com]fivolution@hotmail.com[/url]. Agradecido.

@braços : ? )

A justiça divina tarda mas não falha, enquanto que a justiça dos homens falha porque tarda.
Avatar do usuário
billy1943
Usuário Nível 4
Usuário Nível 4
Mensagens: 570
Registrado em: 12 Mai 2009 17:33
Localização: Bauru-SP

Compactador via prompt.

Mensagem por billy1943 »

Oi, Rochinha

No meu Windows 7 Ultimate não existe o ZIP.EXE.

Mas como sou da "turminha mais antiga" eu tenho a dupla PKZIP/PKUNZIP da PKWare versão 2.04g (1993), ARJ versão 2.50a (1995), sem contar o mais recente 7z.

Eles funcionam muito bem e fica fácil explicar para os mais leigos, como compactar arquivos, principalmente com o melhor deles, no meu entender, o ARJ.
O bom do computador é que ele resolve os problemas, sem nunca levantar nenhum.
Hoje atuo mais com Clipper 52E, e um pouquinho com XHarbour.
Mário Isa
Usuário Nível 4
Usuário Nível 4
Mensagens: 907
Registrado em: 07 Jul 2004 13:54
Localização: Ilha Solteira-sp

Compactador via prompt.

Mensagem por Mário Isa »

eu tenho a dupla PKZIP/PKUNZIP da PKWare versão 2.04g (1993)
mas eles funcionam em 64 bits ??
Avatar do usuário
rochinha
Administrador
Administrador
Mensagens: 4664
Registrado em: 18 Ago 2003 20:43
Localização: São Paulo - Brasil
Contato:

Compactador via prompt.

Mensagem por rochinha »

Amiguinhos,
mas eles funcionam em 64 bits ??
Não.

Use o RAR.EXE, exemplo:

RAR a -ep -df meuarquivo.rar c:\pastadearquivos\*.*

ou

RAR a -ep -df meuarquivo.zip c:\pastadearquivos\*.*

Para descompactar:

RAR e meuarquivo.rar
OPS! LINK QUEBRADO? Veja ESTE TOPICO antes e caso não encontre ENVIE seu email com link do tópico para [url=mailto://fivolution@hotmail.com]fivolution@hotmail.com[/url]. Agradecido.

@braços : ? )

A justiça divina tarda mas não falha, enquanto que a justiça dos homens falha porque tarda.
Mário Isa
Usuário Nível 4
Usuário Nível 4
Mensagens: 907
Registrado em: 07 Jul 2004 13:54
Localização: Ilha Solteira-sp

Compactador via prompt.

Mensagem por Mário Isa »

Windows não reconhece o MeuArquivo.Zip (como um arquivo .ZIP) produzido por este comando...
o Winrar (rar.exe) produz um arquivo do tipo .RAR ...


mas se quiserem podem baixar o
http://www.stoq2000.com/zip.rar
dentro dele tem o zip.exe
e, para fabricar o verdadeiro .zip sigam esse exemplo:

exemplo:
zip a -tzip teste *.txt

e ele produzirá o teste.zip com todos os .txt daquela pasta que você estiver executando o comando.

ah! aquela cláusula -df deletava os arquivos após compactar né ?
:-Y
Avatar do usuário
rochinha
Administrador
Administrador
Mensagens: 4664
Registrado em: 18 Ago 2003 20:43
Localização: São Paulo - Brasil
Contato:

Compactador via prompt.

Mensagem por rochinha »

Amiguinhos,
ah! aquela cláusula -df deletava os arquivos após compactar né ?
Putz, desculpa ai, meu querido. Espero que tenha feito backups.

Passei a usar o RAR.EXE nos meus batch´s porque o PKZIP não ia bem com o Windows Seven 64bits. Usei este recurso em meu MyPOOR SVN - Controle de versão muito simples para salvar cópias das alterações em forma de histórico.

Mas não gostei de usar 64bits para desenvolver, principalmente porque ainda uso o rMake.exe. Ainda não me dei bem com os novos maker´s nem IDE´s automatizados.

Mas é muito útil termos ferramentas que nos fazem verbalizar, e o ZIP faz isso: Eu zipo, tú zipas, nós zipamos, ...
OPS! LINK QUEBRADO? Veja ESTE TOPICO antes e caso não encontre ENVIE seu email com link do tópico para [url=mailto://fivolution@hotmail.com]fivolution@hotmail.com[/url]. Agradecido.

@braços : ? )

A justiça divina tarda mas não falha, enquanto que a justiça dos homens falha porque tarda.
Mário Isa
Usuário Nível 4
Usuário Nível 4
Mensagens: 907
Registrado em: 07 Jul 2004 13:54
Localização: Ilha Solteira-sp

Compactador via prompt.

Mensagem por Mário Isa »

Que tal usar a máquina virtual ?
http://www.superdownloads.com.br/downlo ... rtual-box/

Com ela vc pode ter o 64 bits e rodar, dentro da máquina, o windows xp, ou o vista 32 bits....
Mas precisa ter memória .... não pode ser só uma "vaga lembrança" ... :-´
Avatar do usuário
rochinha
Administrador
Administrador
Mensagens: 4664
Registrado em: 18 Ago 2003 20:43
Localização: São Paulo - Brasil
Contato:

Compactador via prompt.

Mensagem por rochinha »

Amiguinhos,
Que tal usar a máquina virtual ?
Eu estava fazendo isto. Tenho uma VHD com Windows Server 2003 acessando as pastas reais de trabalho. Nela inclusive tinha outros softwares para desenvolvimento como Visual Studio, Android SDK e outros. Esta VHD era acessada pelo Virtual PC 2007 R1, pois apesar de ser Windows Seven 64 não gostei de usar a maquina de modo de compatibilidade nem o Hyper-V.

O grande problema para nós desenvolvedores é encontrar o state-of-art para o dia-a-dia. Sempre me dei muito bem com o Windows Server 2003 e 2008. Tem tudo que eu preciso como segurança, leveza, acesso remoto multi, etc.

O fato de precisarmos desenvolver para 64bits, etc não necessita que programemos nesta plataforma e sim que o nosso resultado seja homologado nesta nova plataforma.

E pra falar a verdade temos as melhores ferramentas em nossas mãos inclusive para recriar as ferramentas que usamos.

Com pouco trabalho poderemos criar nosso próprio ZIPador em Harbour e portátil para várias plataformas.

O grande mau do programador é ter os mais variados tipos de chave de fenda, mas ainda assim querer criar uma nova.

Ká, Ká, Ká.
OPS! LINK QUEBRADO? Veja ESTE TOPICO antes e caso não encontre ENVIE seu email com link do tópico para [url=mailto://fivolution@hotmail.com]fivolution@hotmail.com[/url]. Agradecido.

@braços : ? )

A justiça divina tarda mas não falha, enquanto que a justiça dos homens falha porque tarda.
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Compactador via prompt.

Mensagem por JoséQuintas »

O winrar pode ser usado pelo programa, tem também o lha32.exe.
Mas se dá pra fazer pelo Harbour, melhor deixar resolvido de vez.
E o ZIP fica compatível com Windows !!! Não vai precisar descompactador instalado além do próprio Windows.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Responder