Qual é o argumento da linha de comando do 7-Zip para criar um arquivo de extração automática?

7

Eu olhei em todos os lugares e não consegui encontrar uma resposta direta de ninguém.

Se eu quiser empacotar o conteúdo de C: \ Temp em um arquivo chamado Temp.exe (no formato 7z) que é autoextraível, como faço isso em um arquivo de lote?

Isso não funciona:

"C:\Program Files-Zipz.exe" a -t7z -mx5 -sfx 7z.sfx directoryname archive.exe -mmt

O que eu obtenho é um arquivo auto-extraível chamado 7z.sfx. Não consigo descobrir isso.

    
por djangofan 06.07.2010 / 22:29

5 respostas

8

Eu descobri depois de brincar com ele:

:: zip
"C:\Program Files-Zipz.exe" a archive.exe -mmt -mx5 -sfx dirname
pause
    
por 06.07.2010 / 22:52
4

O problema que você estava tendo é que o 7-zip não gosta de espaços nos argumentos. Então o que você queria era algo mais como:

"C:\Program Files-Zipz.exe" a archive.exe -mmt -mx5 -sfx7z.sfx dirname
    
por 30.11.2011 / 22:13
2

Isso deve funcionar:

"C:\Program Files-Zipz.exe" a -t7z -mx5 -sfx archive.exe directoryname -mmt

(PS: Adicione Program Files-zip à sua variável de ambiente PATH , lá você pode acessar o arquivo diretamente como 7z.exe em vez de "C:\Program Files-Zipz.exe" )

    
por 06.07.2010 / 22:54
1

Mantenha-o básico. O manual diz o padrão:

  • o tipo é 7z
  • o método de compactação é 5 (use 0 para cópia e 9 para ultra )
  • ( -mmt é para multiencadeamento e pode ser antiquado, pois o manual não tem sua definição.)

Então, isso dá a resposta básica como:

7z a -sfx archive.exe dir
    
por 28.11.2016 / 20:08
0

Com o 7-zip existe uma versão de linha de comando disponível chamada 7z.exe, você pode baixá-lo do site do 7-zip. Para criar um instalador de extração automática, use o sinalizador -sfx seguido de um número para a quantidade de compactação.

    
por 06.07.2010 / 22:39