Chamando .exe COM PARÂMETROS

2 respostas
M

Pessoal, sei que para chamar um arquivo .exe, usamos o comando

Runtime.getRuntime().exec(“meuprog.exe”);

mas, como faço para passar como parâmetros o arquivo de origem e o arquivo de destino?

Valeu!

Marcus

2 Respostas

C

“mcrocha”:
Pessoal, sei que para chamar um arquivo .exe, usamos o comando

Runtime.getRuntime().exec(“meuprog.exe”);

mas, como faço para passar como parâmetros o arquivo de origem e o arquivo de destino?

Valeu!
Marcus

Então, pelo o que eu entendi voce quer abrir um programa e passar como parametro o caminho de um determinado arquivo, logo origem e destino.

Se o executavel for de sua autoria, voce pode se basear nos comandos de linux, como “mysql -u root -p algumaSenha”.

Runtime.getRuntime().exec(“seuPrograma.exe-” + caminho +"-" + destino);

M

Ainda não está rodando direito!

Explicando melhor:

No console do Windows, na pasta C:\IE, eu dou o seguinte comando:

tagger -i arquivoOrigem.txt -o arquivoDestino.txt —>>> roda perfeito

Mas se eu estiver em qualquer outra pasta, como, por exemplo, a C:\TEMP, ele não roda porque precisa carregar alguns arquivos que estão em uma pasta chamada models que tem o caminho C:\IE\MODELS.

Ele carrega assim : loading ./models/model.bidir.0
loading ./models/model.bidir.1
loading ./models/model.bidir.2 , etc.

Não posso alterar esta chamada, porque não tenho os fontes deste programa, só estou usando como uma ferramenta para o meu trabalho.

Assim, se eu puder colocar comandos no meu programa para abrir o console do Windows, ir para a minha pasta C:\IE automaticamente, e executar (também de forma automática) de lá, acho que funcionaria, ou então, se vc, ou mais alguém, tiver outra idéia também é bem-vinda.

O CÓDIGO ABAIXO, executa o programa tagger.exe (ele rodou) ,mas NÃO FUNCIONOU DIREITO POR CAUSA DA PASTA MODELS que ele não consegue carregar:

import java.io.IOException;
public class MinhaClasse {
    public MinhaClasse() {
        Runtime rt = Runtime.getRuntime();
        
        try { 
 
            rt.exec("c:\\ie\\tagger.exe -i c:\\ie\\aaa2.txt -o c:\\ie\\aaa2TAGGED.txt");
 
        } catch (IOException e) {
            e.printStackTrace();
        }
        
    }
    public static void main(String[] args) { 
    
        MinhaClasse mc = new MinhaClasse();
    }
}

Se vcs puderem me dizer como resolver isto, será uma grande ajuda.

Mais uma vez, obrigado!

Marcus

Criado 8 de novembro de 2007
Ultima resposta 10 de nov. de 2007
Respostas 2
Participantes 2