olá sou novo aki no site do Guj e me registrei aki pois percebi que era um site excelente sobre java e que com ctza aprenderia mtas coisas e tiraria varias duvidas minhas…
no momento estou com a seguinte duvida tentando executar um comando de DOS em java
o unico comando quase que funciono foi o shutdown -s -t mas os outros naum funcionam e naum consigo descobrir porque
ja tentei fazer como eh ensinado aki http://www.exampledepot.com/egs/java.lang/Exec.html
mas tambem naum funcionou
por favor ae se alguem souber o que está acontecendo me ajuda ae!!
agradeço desde ja
bom na verdade isso naum chega a ser um virus ja q a unica coisa q ele faz é desligar o computador…
mas naum criei com a intenção de utilizá-lo mas sim pelo fato de eu e outras pessoas de um forum de outro site criarmos desafios como esses…
porem nois só podemos utilizar linguagens como java, visual basic, c++, delphi e mais uma ou outra la e no caso eu escolhi java pois é uma linguagem que eu estou estudando.
por isso estou pedindo ajuda aki pois tambem tenho um determinado tempo para terminar isso e não estou conseguindo concertar esse problema :?
Hehehehehe sei lá o q vc quer fazer com isso, mas por exemplo, o comando “copy” é um comando do interpretador de comandos do windows (command.com para win98, cmd.exe para win2k, winxp), por isso que ele não faz nada. Ele não encontra um arquivo (programa) chamado copy.
Vc pode criar, em tempo de execução, um arquivo .bat temporário, executar o arquivo e apagar o mesmo…
[code]
Runtime rt = Runtime.getRuntime();
Process p = null;
try {
// cria o arquivo
File arquivo = new File( "lote.bat" );
// cria um print writer para escrever caracteres no arquivo
PrintWriter writer = new PrintWriter( arquivo );
// escreve os comandos...
writer.println( "dir" );
// escreve mais comandos aqui com o writer.println( "comando" )
// fecha o stream
writer.close();
// executa o arquivo (.bat no windows é executável)
p = rt.exec( "lote.bat" );
// cria um buffered reader para ver o que os comandos escritos fizeram
BufferedReader reader = new BufferedReader(
new InputStreamReader( p.getInputStream() ) );
String linha;
while ( ( linha = reader.readLine() ) != null )
System.out.println( linha );
// fecha o reader
reader.close();
// apaga o arquivo
arquivo.delete();
humm…valeu mesmo cara
vou tentar assim e ver se funciona!!
quanto ao programa se eu fosse usá-lo para mandar para outras pessoas nem precisaria fazer isso porque ja tenho ele feito em Batch mas como havia dito estou tentando fazer ele em java
valew mesmo davidbuzatto…funciono direitinho cara…
mas só por curiosidade ainda…
o unico método mesmo pra executa esses comando é criando um arquivo de lote em tempo de execução??
ou ainda existe algum método de executar todos esses comandos dentro do executável feito em java?
Como falei no post anterior, o interpretador de comandos do windows é o command.com para win95, 98, ME e o cmd.exe para as versões mais novas. Vc precisa invocar o cmd.exe e executar os comandos. Poderia ser assim
rt.exec( "cmd /C dir" );
Dá uma olhada nos parâmetros do cmd digitando assim no prompt de comando cmd /?