Como criar um arquivo de extração automática que funciona no DOS?

1

Eu preciso criar um arquivo de extração automática para o DOS. É em um projeto legado que atualmente usa lha (por Haruyasu Yoshizaki) para criar o autoextrator. Isso funciona, no entanto, quando executado, ele pergunta se queremos substituir o arquivo. Para centenas de arquivos, isso é um problema.

Então, o que eu preciso é de uma maneira de criar executáveis que irão autoextrair e fornecer uma opção yes para todos os tipos no extrator. Obviamente, tem que ser capaz de rodar no DOS.

Eu pesquisei na internet e posso encontrar programas que fazem isso, mas todos parecem precisar de 32 bits.

    
por Firedragon 12.08.2013 / 09:11

3 respostas

1

Consegui encontrar uma maneira de fazer isso usando Infozip

Você precisa copiar o UNZIPSFX.EXE em um local adequado e, em seguida, mesclar da seguinte forma:

> cd <folder to zip>
> zip -r app .
> copy /b <UNZIPSFX location>\UNZIPSFX.EXE+app.zip app.exe
> zip -A app.exe
    
por 04.09.2013 / 09:30
1

Você pode fazer isso com o ARJ, que pode ser baixado do link

O truque é incorporar parâmetros de linha de comando no exe, o que é feito adicionando um comentário que começa com))

Por exemplo, se você criar um arquivo de texto chamado (por exemplo) options.txt que contenha a linha

)) -o

e gere seu exe auto-extraível com a linha de comando

arj A -JE -zoptions.txt TEST.EXE *.*

Em seguida, isso sobrescreverá automaticamente todos os arquivos (como se você tivesse especificado a opção de linha de comando -o).

    
por 12.08.2013 / 12:21
0

As opções incluem:

usando arj (como mencionado em outra parte desta página)

usando unzipsfx (como mencionado em outra parte desta página)

usando outro programa que lida com arquivos LZH (em vez de usar arquivos auto-extraíveis). A maioria dos programas de arquivamento pode manipular arquivos de extração automática (ignorando o código de autoextração no início de um arquivamento).

Talvez os arquivos de extração automática ofereçam suporte a uma opção, como -y ou /? ou -? ou -h, por exemplo:

program.exe -y

Você pode conseguir usar o eco ou o tipo. por exemplo:

echo Y | program.exe

digite fileyyyy.txt | program.exe

Essa barra vertical é o pipe: shift-backslash

    
por 06.01.2015 / 09:15