Ver Mensaje Individual
  #12 (permalink)  
Antiguo 13/01/2012, 22:23
Avatar de HackmanC
HackmanC
 
Fecha de Ingreso: enero-2008
Ubicación: Guatemala
Mensajes: 1.817
Antigüedad: 17 años, 1 mes
Puntos: 260
Sonrisa Respuesta: Duda con getRuntime

Hola,

Cita:
Iniciado por soponce Ver Mensaje
p.exec("cmd /c systeminfo >> D://info.txt");
p.exec("cmd /c type D://info.txt|find \"Fabricante del sistema:\" >> D://DatosCapturados.txt");
El separador en Windows es \\ estás escribiendo el código de escape el caracter \, pero en Linux es / porque no es un caracter especial. No creo que exec te deje hacer un 'pipe' porque el mismo exec de java abre el stdout del programa cmd. ¿Existe algún motivo por el cual no puedas usar en batch file?

Simplemente sería algo así:

Código BAT:
Ver original
  1. @echo off
  2. %SystemRoot%\System32\systeminfo.exe | findstr /I "fabricante"

Y en Java lo podría recuperar así:

Código Java:
Ver original
  1. Runtime p = Runtime.getRuntime();
  2. Process r = p.exec("cmd /c E:\\sysinfo.cmd");
  3. Integer i = r.waitFor();
  4.  
  5. if (i == 0) {
  6.         new InputStreamReader(r.getInputStream()));
  7.     String l = br.readLine();
  8.     System.out.println(l.split(":")[1].trim());
  9. } else {
  10.     System.err.println("ERRORLEVEL : " + String.valueOf(i));
  11. }

Saludos,