Executar .Bat

2 respostas
Norivan

Boa tarde a todos,

Eu tenho um socket que espera que o cliente mande um comando a partir dai ele executa algum comando, um desses comandos seria executar um arquivo .BAT contendo um comando de copy simples copy c:\teste.txt e:

Ele abre a janela do cmd para executar o BAT, mas não copia nada, notei que o cmd retorna alguma mensagem de erro mas não deu tempo de ler.

String executa = "C:\teste.bat"; try { Runtime.getRuntime().exec("rundll32 SHELL32.DLL,ShellExec_RunDLL "+executa); } catch (IOException e) { e.printStackTrace(); }

Perguntas:

  1. Tem alguma forma de saber se o arquivo foi copiado com sucesso ou não?

2 Respostas

fkimura
Para pegar a saída do console basta fazer:

Process process = Runtime.getRuntime().exec(executa);

Scanner scanner = new Scanner(process.getInputStream());

while (scanner.hasNextLine()) {

System.out.println(scanner.nextLine());

}

E para saber se o comando foi executado com sucesso, se o script for só “copy”, então o retorno do script será o retorno do comando copy, que é 0 se foi executado com sucesso, creio eu. Basta fazer:
System.out.println(process.exitValue());
que você terá o retorno do script.

Norivan

Obrigado, funcionou certinho :smiley:

Criado 11 de setembro de 2008
Ultima resposta 11 de set. de 2008
Respostas 2
Participantes 2