Página 1 de 1

Compactador via prompt.

Enviado: 24 Abr 2014 17:28
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.

Compactador via prompt.

Enviado: 24 Abr 2014 18:54
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

Compactador via prompt.

Enviado: 24 Abr 2014 19:04
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,

Compactador via prompt.

Enviado: 25 Abr 2014 09:11
por Maurício Elias
Obrigado pelas dicas pessoal. Vou fazer meus testes aq...

Compactador via prompt.

Enviado: 20 Mai 2014 04:03
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.

Compactador via prompt.

Enviado: 21 Mai 2014 21:52
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.

Compactador via prompt.

Enviado: 06 Jul 2016 19:20
por Mário Isa
eu tenho a dupla PKZIP/PKUNZIP da PKWare versão 2.04g (1993)
mas eles funcionam em 64 bits ??

Compactador via prompt.

Enviado: 06 Jul 2016 20:58
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

Compactador via prompt.

Enviado: 06 Jul 2016 22:22
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

Compactador via prompt.

Enviado: 06 Jul 2016 22:43
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, ...

Compactador via prompt.

Enviado: 07 Jul 2016 00:27
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" ... :-´

Compactador via prompt.

Enviado: 07 Jul 2016 13:12
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á.

Compactador via prompt.

Enviado: 07 Jul 2016 19:30
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.