Preciso executar um programa via java e queria saber se depois de chamar, por exemplo, cdm.exe com Runtime eu tenho como mandar outros comandos para ele. Já tentei passar numa mesma linha os comandos que preciso usando && para separar cada comando, p.ex:
Runtime.getRuntime().exec("cmd.exe /c start cd .. && cd ..");
Fazendo direto no prompt o comando é válido, mas quando executo por um projeto java não funciona, ele so interpreta o primeiro comando.
Alguém sabe como fazer isso?
vc disse q esse exato comando em prompt funciona?
“cmd.exe /c start cd … && dir C:”
sim, funciona…
e no Java tambem
oq vc poem no exec() do Runtime é exatamente oq ele iria “digitar” no prompt pra executar…
entao nao creio q existe diferença…
se funcionar o comando no prompt, funciona no Java tambem…
o && no comando… faz com que seja executado um “segundo” comando… q entao iria ser no proprio prompt do java… (assim como acontece no DOS)
me mostra oq vc esta executando em DOS q esta funcionando … pois nao creio q tem segredo fazer funcionar no Runtime do Java
Cara, eu naum quis dizer exatamente o comando “cmd.exe /c start cd … && dir C:”, mas sim que se vc abrir o cmd manualmente e tentar digitar algum comando na forma “comando1&&comando2” e se estes estiverem com a sintaxe correta, serão executados com sucesso, agora se tento executar pelo java abrindo o cmd e passando esse comando em seguida com o Runtime num da certo, ele não reconhece o segundo comando.
sera pq o comando CMD.exe soh aceita 1 comando “extra” como parametro ?
…
tudo q faço com prompt roda perfeitamente aqui… nao entendo oq vc esta vendo de errado…
executar 2 comandos no “novo” CMD.exe q vai abrir? nao creio q seja possivel pois vc soh pode passar 1 comando !
ou vc cria um arquivo .bat (q ele sim vai executar mais de 1 comando) q vai ser executado nesse novo CMD… ou eu creio q não da (pelo menos nao conheço nada possivel)
E como eu faço o .bat?
E segundo o site q vc me passou é possivel sim passar mais de um comando separando-os com &&, e como eu disse, manualmente funciona, só não funciona chamando pelo Runtime.
[quote=Bruck]E como eu faço o .bat?
E segundo o site q vc me passou é possivel sim passar mais de um comando separando-os com &&, e como eu disse, manualmente funciona, só não funciona chamando pelo Runtime.[/quote]
Pra quem tiver o msm problema, é só criar um txt com codigo no formato acima, salvar e depois mudar a extensão pra .bat e utiizar na hora de chamar o cmd p.ex Runtime.getRuntime().exec(“cmd.exe /c start comandos.bat”);: