próximo acima anterior sumário índice
Next: DOSEMU Netware dosemu!Netware Up: Múltiplos usuários e sessões Previous: É possível usar o   Sumário   Índice Remissivo

Como é possível executar comandos DOS de forma não interativa?

Tenho tentado escrever um artigo sobre isto há bastante tempo. Seguem algumas dicas de outras pessoas:

Dan Newcombe (newcombe@aa.csc.peachnet.edu) comenta que:

Aqui está uma idéia (não testada) que é capaz de executar um comando DOS em linha de comando (ou escolha do menu, etc$\ldots$) sem modificar o emulador real. [ Presume-se que a sua partição DOS já está montada sob Linux.

Suponha que se queira executar wp60.exe com o parâmetro
textbfwp60 d:$\backslash$doc$\backslash$paper.txt". Pode-se executar o comando
textbfdosrun wp60 d:$\backslash$doc$\backslash$teste.txt". textbfdosrun" é um programa de ambiente de trabalho que poderia: a) editar/modificar/recriar o arquivo DOS autoexec.bat da partição DOS; b) simplesmente executar o DOSEMU (P.exemplo textbfdos -C $>$/dev/null". A etapa a) iria de certo modo guardar tudo que normalmente se gostaria de se ter em autoexec.bat (por exemplo mouse.com) e a última linha seria textbfwp60 d:$\backslash$doc$\backslash$teste.txt".

No DOSEMU, de antemão, deve-se modificar o arquivo config.sys (localizado na hdimage) por isso deve-se 1) usar o emufs para acessar a partição DOS como D:, 2) configurar textbfCOMPSEC=D:$\backslash$, e 3) configurar textbfshell=c:$\backslash$command.com /p".

A idéia é ao se carregar o emulador DOS, recriar um autoexec.bat que é específico para aquela sessão. O que o torna específico é que a última linha executará o programa que se quer. As modificações na hdimage indicam ao emulador/DOS que se quer usar D:, a qual será a partição DOS.

Caso não se use o hdimage nem o acesso direto ao sistema de arquivos DOS na inicialização do DOSEMU, então esta orientação funcionará, e não se deverá acessar a hdimage.

Daniel T. Schwager (danny@dragon.s.bawue.de) relata que:

Podem ser usados diferentes arquivos de configuração DOSEMU (e imagens diferentes hd-boot com autoexec.bat diferentes), acionando o DOSEMU da seguinte forma:

$ dos -F programa_exe_DOSEMU.conf

-----------

Dietmar Braun (braun@math20.mathematik.uni-bielefeld.de) relata o seguinte:

Isto não é problema ao se usar o redirecionador do DOSEMU. É possível redirecionar um dispositivo para um caminho Linux fornecido por uma variável de ambiente.

Para tanto pode-se usar um programa chamado textbfDOS" com um conteúdo similar a:

 mkdir /tmp/dos.$$
 DOSTMP=/tmp/dos.$$; export DOSTMP

e depois com um pequeno truque obter-se:

echo $* > $DOSTMP/startup.bat

o que realmente funciona, cria arquivos de inicialização e as ligações e assim por diante neste diretório, e então inicializa o DOSEMU. Dentro do dispositivo C: , o arquivo textbfautoexec.bat" é redirecionado da hdimage para este diretório temporário, que tem ligações para $HOME e $PWD.

Assim é possível ver nomes de arquivos reduzidos para o formato 8.3, através do comando textbfDOS dir" e assim ter-se uma lista do diretório atual. Tem-se assim um ambiente multiusuário DOS completo (sem usar nenhuma partição DOS e redirecionando o Linux faz com que as permissões dos usuários sejam resguardadas) e multitarefas, sendo que as sessões DOSEMU são completamente independentes. Fiz isso para poder usar um controlador de dispositivos DOS para uma impressora local. O programa printcap df é na verdade um programa DOS. Assim é possível transformar executáveis DOS em filtros Ipr.


próximo acima anterior sumário índice
Next: DOSEMU Netware dosemu!Netware Up: Múltiplos usuários e sessões Previous: É possível usar o   Sumário   Índice Remissivo
Cyro Mendes de Moraes Neto 1999-12-30