Executação de Arquivo BAT

Pessoal já procurei muito sobre isso mas não encontro solução!!!

Eu quero que o meu programa java em determinada execução execute o arquivo bat por exemplo c:\dir\arquivo.bat. Me indicaram o getRuntime().exec(“c:\dir\arquivo.bat”) mas não roda.

se eu coloco assim getRuntime().exec(“notepad.exe”), ele executa normal. mas se eu colocar dentro de um bat ele não roda!

Por Favor pessoal, estou desesperado com isso!

Charles :cry: :cry:

O problema está na ‘’.
Tente isso:

Runtime.getRuntime().exec( "c:/dir/arquivo.bat");

[]'s

Arquivos .bat não podem ser executados diretamente via exec.
Você deve ver qual é o Windows que você está usando, e usar “command.com /c c:\dir\arquivo.bat” (Windows 95/98/ME) ou “cmd.exe /c c:\dir\arquivo.bat” (os outros)
A dica de usar “/” em vez de “” funcionaria se você tivesse um arquivo .exe.

Bom, no meu Win 2000 funcionou.
Fiz o seguinte: dentro do .bat eu coloquei: notepad e ele abriu.

Pessoal,

já tentei “cmd.exe /c c:\dir\arquivo.bat” e nada! em relação as barras tb não influencia! Estou usando Windows XP Pro.

Charles

O que significa “e nada”? Alguma exceção ocorre? Tem certeza que o bat está lá? Pode mostrar o trecho de código?

Eu fiz assim:

public static void main (String args[]) {
try {

  Runtime info = Runtime.getRuntime();

  info.exec("cmd.exe /c c:\\primjava\\rodar.bat");

}
catch (Exception ioe) {
  System.out.println("erro");
}

}

Tenho certeza que o arquivo esta nesse local! e não dá exceção nenhuma!

Charles

Vai no iniciar > executar … cola essa linha que você ta tentando executar lá. Funcionou? Se não funcionou, faça funcionar aí, depois cole a linha lá no seu programa…

no executar do iniciar o comando cmd /c c:\primjava\rodar.bat roda normalmente!

Tenta colocar este .bat na pasta do c:\windows\system32 e aciona da mesma forma que fez com o notepad

Não estava conseguindo executar um arquivo bat da apliação Java, resolvi utilizando seguinte comando…

 Runtime.getRuntime().exec("cmd.exe /C start c://teste.bat");

se alguém precisar tente deste jeito…