privatestaticvoidexecutacmd(Stringcmd){try{Runtimert=Runtime.getRuntime();Processpr=rt.exec(cmd);System.out.println(cmd);BufferedReaderinput=newBufferedReader(newInputStreamReader(pr.getInputStream()));intexitVal=pr.waitFor();System.out.println("Exited with error code "+exitVal);}catch(Exceptione){System.out.println(e.toString());e.printStackTrace();}}
agora quando chamo a função faço isto :
executacmd("net use G: \\xx.xx.xx.xx\Partilha /user:%USERNAME% /persistent:no");
obvio que no xx estão numero que é um ip agora o que isto faz é uma ligação a uma partição noutro pc se eu correr o comanto em cmd :
[color=red]net use G: \\xx.xx.xx.xx\Partilha /user:%USERNAME% /persistent:no[/color]
ele corre bem pelo codigo não corre o erro que me da é :[color=red]Exited with error code 2[/color]
Seu código está funcionando OK!
Fiz a seguinte alteração para verificar o retorno do InputStream.
Eu testei com alguns “CMD”, por exemplo “ping” e foi!!! Sem erros!
privatestaticvoidexecutacmd(Stringcmd){try{Runtimert=Runtime.getRuntime();Processpr=rt.exec(cmd);BufferedReaderinput=newBufferedReader(newInputStreamReader(pr.getInputStream()));intexitVal=pr.waitFor();System.out.println("Exited with error code "+exitVal);Stringlinha=input.readLine();while(linha!=null){System.out.println(linha);linha=input.readLine();}}catch(Exceptione){System.out.println(e.toString());e.printStackTrace();}}
felipehand
Acho que o problema é como vc esta escrevendo os caminhos de diretorio, o prompt tem frescuras cara… tenta comandos mais simples como o amigo acima fez…
S
subspider
OK pessoal consegui hehehe
nao é dificil so tem de de substituir o /%USERNAME% po /“o nome de utilizador” e funciona muito bem ate
o comando que usei é executacmd("net use G: \\xx.xx.xx.xx\Partilha /user:pedro /persistent:no");