Chamando .exe COM PARÂMETROS

4 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

4 Respostas

M

Dá pra ser menos esparso? Você quer passar parâmetros para o .exe? Em geral, os parâmetros vão logo após ao comando. Ex.: meuprograma.exe arqu1.txt arqu2.txt.

Até!

E

Se você for mandar o caminho todo, não esqueça que não pode haver espaços, senão será entendido como outro parâmetro.

A

http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Runtime.html#exec(java.lang.String[])

M

Pessoal, ainda não está rodando direito!

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 algum de vcs 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 4
Participantes 4