Ajuda com Runtime

  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?

ueh… aqui rodou perfeitamente…

abriu o cmd.exe … e executou o “cd …” dentro dele…

String comando = "cmd.exe /c start cd ..";
Runtime.getRuntime().exec(comando);

no caso ele abriu um prompt no diretorio D:\workspace\

jah q o “basedir” dele seria a pasta do meu projeto

Nesse caso não da pra testar o que eu disse pois vc so colocou um comando, eu quero executar mais de um no cmd, tenta executar

String comando = "cmd.exe /c start cd ..&&dir C:"; Runtime.getRuntime().exec(comando);

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.

Cara…

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)

Eu estou querendo passar dois comandos para o cmd, só isso.

exato… creio q nao dah… e se for possivel esta escrito aqui
http://www.ss64.com/nt/cmd.html

[quote]Syntax
CMD [charset] [options] [My_Command] [/quote]

pq vc nao cria um .bat q faça isso?

entao o argumento do cmd.exe seria o arquivo…
e ele executaria 2 ou mais comandos…

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 fazer BAT tem no google explicando varios tutoriais…
um deles http://vtatila.kapsi.fi/batch_tutorial.html

mas qdo vc separa o comando por &&… vc nao executa o comando dentro do novo CMD… e sim do antigo…

exemplo

cmd.exe /c start cd … && dir

ele vai usar o CD … dentro do CMD novo…
e o dir no prompt antigo…

e NÃO ambos dentro do CMD novo…

Cara, nesse codigo só tem um cmd.

Fiz um .bat aq com os comandos e funcionou

comandos.bat:

@echo off
comando1
comando2

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”);:

e ainda assim vc nao entendeu oq eu kiz dizer com o CMD novo e o antigo… ¬¬

de nada. :evil:

Desculpe não ter agradecido, vlws ae! :?
Explica ae entaum essa parada de cmd novo e antigo