Executar arquivo .bat

4 respostas
cezarantonio

Oi pessoal , tudo bem?
Tenho o seguinte problema…
Preciso chamar a JVM para compilar um arquivo do qual o usuário tenha feito um upload.
Implementei a parte do upload e consegui criar dinâmicamente um arquivo .bat para executar o arquivo que o usuario fez o upload.
Pórém não sei como fazer para executar este arquivo.

Alguem pode me ajudar?

Cézar

4 Respostas

P

Cara,

Utilize a classe Runtime. Ela serve para executar arquivos direto pelo SO. Exemplo:
Runtime.getRuntime().exec("caminho e nome do arquivo bat");
Só lembrando que você pode utilizar o Runtime para executar direto o compilador:
Runtime.getRuntime().exec("caminho do javac + caminho do arquivo");
T

E lembrando que um arquivo .bat é interpretado pelo interpretador de comandos (“CMD.EXE” no NT, 2000, XP, 2003, Vista, “COMMAND.COM” no 95, 98, ME)
Portanto você tem de usar um comando semelhante a

cmd /c seucomando.bat

tads

Bom dia,

Tenho uma dúvida qto a execução dos bats. A gente tem um loop aki,
e a cada iteração, executa um .bat. Porém, eu não sei qdo o .bat terminou
a execução.

Tem como eu saber qdo cada um dos .bat terminou a execução?

Eu precisaria disso pra fazer algo do tipo: Terminou o.bat, executa
outra tarefa. Eu poderia resolver isso, colocando um “sleep”, mas não
podemos nos prender a “tempo”.

Obrigado

ViniGodoy

Quando você usa o runtime, ele retornará um objeto do tipo Process.

Esse process tem um método chamado waitFor() que faz sua aplicação esperar até o .bat terminar. O método ainda retorna o código de erro retornado pelo process.

Criado 23 de novembro de 2006
Ultima resposta 28 de dez. de 2006
Respostas 4
Participantes 5