Eu e um amigo estavamos mexendo nisso outro dia. Na documenta��o da sun tem dizendo que pode n�o funcionar muito bem para comandos no dos... Deve ser isso. Agente tamb�m n�o conseguiu executar comandos no dos.

[]�s
Vin�cius
At 14:44 8/11/2002 -0200, you wrote:

Eu estava brincandoum pouco com a java.lang.Runtime e me deparei com o seguinte problema: o exemplo abaixo deveria executar os comandos (ou processos) numa boa, alguns at� funcionam, mas quando � algo via promptde comando n�o funciona de jeito nenhum (algu�m at� havia colocado um exemplo em uma mensagem anterior da lista: String c = "dir c: > dir.txt"; mas isto n�o d� certo)! N�o sei se estou fazendo algo errado...

 

Como eu executo o que eu quiser como se estivesse em um prompt de comando normal? (String c = "explorer.exe c:\\j2sdk1.4.1\\bin"; funciona!).

Estou rodando este exemplo no XP, mas creio veementemente que n�o tem nada relacionado a este fato.

 

(este c�digo est� funcionando, s� n�o sei como implementar direito os comandos para c)

 

public class RuntimeTeste {

    public static void main(String[] args) {

        Runtime rt = Runtime.getRuntime();

       

     String c = "explorer.exe c:\\j2sdk1.4.1\\bin";                                                                         // este funciona! Abre o Explorer na pasta especificada

     // String c = "\"C:\\Arquivos de programas\\Half-Life\\hl.exe\" -console -game cstrike";             // este funciona! Executa o Counter-Strike

     // String c = "regedit.exe";                                                                                                  // este funciona! Executa o regedit

 

     // agora segue o que n�o funciona:

 

     // String c = "C:\\WINNT\\System32\\gpedit.msc";                 // java.io.IOException: CreateProcess: C:\WINNT\System32\gpedit.msc error=193

     // String c = "dir c: > dir.txt";                                                // java.io.IOException: CreateProcess: dir c:\ > dir.txt error=2

     // String c = "mkdir c:\\teste";                                              // java.io.IOException: CreateProcess: md c:\teste error=2 

     // String c[] = {"mkdir", "c:\\teste"};                                      // java.io.IOException: CreateProcess: mkdir c:\teste error=2

     // String c[] = {"dir", "c:\\", ">", "dir.txt"};                               // java.io.IOException: CreateProcess: dir c:\ > dir.txt error=2

     // String c = cmd.exe;                                                      // ???????????

 

        try {           

            rt.exec(c);

        }

        catch(Exception e) {

          System.err.println(e);

        }

    }

}

 

Esque�am StringTokenizer, pois j� tentei tamb�m...

J� dei uma lida na API em java.lang.Runtime, mas o que tem l� � vago.

Se algu�m souber o jeito certo de se fazer isto eu agrade�o desde j�.

 

Herbert Alexander Faleiros
Administrador de redes NT/W2K
Programador Java / Webmaster
Graduando em F�sica - UFSCar
[EMAIL PROTECTED]
[EMAIL PROTECTED]
(16) 9117-2962

 

Responder a