Executando arquivo .exe

3 respostas
V

Pessoal,

Fiz o seguinte teste:

public static void main(String[] args) throws IOException {
        // TODO code application logic here
        Runtime.getRuntime().exec("C:\WINDOWS\explorer.exe");
}

E abriu tranquilamente o windows explorer, mas o que eu precisava, seguindo a lógica era fazer isso:

public static void main(String[] args) throws IOException {
        // TODO code application logic here
        Runtime.getRuntime().exec("C:\Documents and Settings\Vinão\Desktop\Nova pasta\bah\rmevents.exe -i C:\Documents and Settings\Vinão\Desktop\Nova pasta\bah\stream_part0.rm -o C:\Documents and Settings\Vinão\Desktop\Nova pasta\bah\teste1.rm -e C:\Documents and Settings\Vinão\Desktop\Nova pasta\bah\slide_events0.txt");
    }

E quando eu executo não acontece nada, se faço isso no prompt, o arquivo reste1.rm é gerado, porque na aplicação não?

Como eu resolvo isso?

Obrigado.

3 Respostas

Sombriks

você não tem um console associado. tente:

public static void main(String[] args) throws IOException {
         // TODO code application logic here
         Runtime.getRuntime().exec("C:\windows\cmd.exe C:\Documents and Settings\Vinão\Desktop\Nova pasta\bah\rmevents.exe -i C:\Documents and Settings\Vinão\Desktop\Nova pasta\bah\stream_part0.rm -o C:\Documents and Settings\Vinão\Desktop\Nova pasta\bah\teste1.rm -e C:\Documents and Settings\Vinão\Desktop\Nova pasta\bah\slide_events0.txt");
     }

pra variar, não tenho mais windows, então estou supondo que você terá sucesso, :smiley:

aqui testei o seguinte:

public class Execut{

public static void main(String[] args) throws java.io.IOException {
         // TODO code application logic here
         Runtime.getRuntime().exec("xterm -exec echo \"oi\" & kate");
     }
}

e ele só não abriu o kate, :smiley: mas imprimiu oi!

V

Olá,

Valeu pela dica, acho que está chegando lá:

Deu esse erro agora:

init:

deps-jar:

Compiling 1 source file to C:\Documents and Settings\Vinão\JavaApplication1\build\classes

compile:

run:

Exception in thread main java.io.IOException: CreateProcess: C:\windows\cmd.exe C:\Documents and Settings\Vinão\Desktop\Nova pasta\bah\rmevents.exe -i C:\Documents and Settings\Vinão\Desktop\Nova pasta\bah\stream_part0.rm -o C:\Documents and Settings\Vinão\Desktop\Nova pasta\bah\teste1.rm -e C:\Documents and Settings\Vinão\Desktop\Nova pasta\bah\slide_events0.txt error=2

at java.lang.ProcessImpl.create(Native Method)

at java.lang.ProcessImpl.(ProcessImpl.java:81)

at java.lang.ProcessImpl.start(ProcessImpl.java:30)

at java.lang.ProcessBuilder.start(ProcessBuilder.java:451)

at java.lang.Runtime.exec(Runtime.java:591)

at java.lang.Runtime.exec(Runtime.java:429)

at java.lang.Runtime.exec(Runtime.java:326)

at javaapplication1.Main.main(Main.java:30)

Java Result: 1

EXECUTADO COM SUCESSO (tempo total: 1 segundo)

Sabe o que pode ser?

Obrigado.

V

olha,

Dessa forma foi:

Runtime.getRuntime().exec(
“cmd.exe /C start C:\bah\rmevents.exe -i C:\bah\stream_part0.rm -o C:\bah\teste1.rm -e C:\bah\slide_events0.txt”);

Dessa forma:

Runtime.getRuntime().exec(
“cmd.exe /C start C:\Documents and Settings\Vinão\Desktop\Nova pasta\bah\rmevents.exe -i C:\Documents and Settings\Vinão\Desktop\Nova pasta\bah\stream_part0.rm -o C:\Documents and Settings\Vinão\Desktop\Nova pasta\bah\teste1.rm -e C:\Documents and Settings\Vinão\Desktop\Nova pasta\bah\slide_events0.txt”);

Acho que deu problema com espaço em brano, coloquei %20, mas nem assim funcionou.

O que eu coloco para ele encontrar o arquivo?

Outra coisa, dá forma que funcionou ele abriu o prompt, tem como ele executar o software, mas não abrir o prompt?

Obrigado,
Vinicius.

Criado 4 de março de 2007
Ultima resposta 4 de mar. de 2007
Respostas 3
Participantes 2