Foros del Web » Programación para mayores de 30 ;) » Java »

problemas ejecutar .bat desde java

Estas en el tema de problemas ejecutar .bat desde java en el foro de Java en Foros del Web. hola a todos, aunq se q este es un tema ya bien tratado en el foro, aún no he podido dar con la solución a ...
  #1 (permalink)  
Antiguo 01/12/2008, 13:05
Avatar de darkleo  
Fecha de Ingreso: octubre-2007
Mensajes: 106
Antigüedad: 16 años, 6 meses
Puntos: 0
De acuerdo problemas ejecutar .bat desde java

hola a todos, aunq se q este es un tema ya bien tratado en el foro, aún no he podido dar con la solución a este problema, tengo el siguiente código
Código PHP:
Runtime aplicacion Runtime.getRuntime();
    try{
        
aplicacion.exec("cmd.exe /K start c:\\Program Files\\Network Registrar\\Local\\bin\\nrcmd.bat");
    }catch(
Exception e){
        
System.out.println(e);
    }  
    } 
y al correrlo me saca problemas en la ruta, mensaje de error :"windows no puede encontrar "c:\\Program."", me daría a pensar q es problema del espacio en la ruta, como hago para q interprete el espacio en java

Muchas gracias
__________________
Just LeO
  #2 (permalink)  
Antiguo 01/12/2008, 13:20
 
Fecha de Ingreso: octubre-2003
Mensajes: 3.578
Antigüedad: 20 años, 6 meses
Puntos: 51
Respuesta: problemas ejecutar .bat desde java

¿Quizá envolviendo el path entre comillas y "escapando" las comillas?
Cita:
aplicacion.exec("cmd.exe /K start \"c:\\Program Files\\Network Registrar\\Local\\bin\\nrcmd.bat\"");
S!
__________________
Para obtener respuestas, pregunta de forma inteligente o si no, pregunta lo que quieras que yo contestaré lo que me dé la gana.
  #3 (permalink)  
Antiguo 01/12/2008, 14:16
Avatar de darkleo  
Fecha de Ingreso: octubre-2007
Mensajes: 106
Antigüedad: 16 años, 6 meses
Puntos: 0
Respuesta: problemas ejecutar .bat desde java

GreenEyed, ya intenté de esa manera y no continúa el mismo error:

windows cannot find "c:\Program". Make sure you typed the name correctly...
Es decir, parece q solo ve la cadena hasta q hay espacio, asume q es otra cadena, como soluciono esta excepción !!!!!!!!!!!!!!
__________________
Just LeO
  #4 (permalink)  
Antiguo 03/12/2008, 10:47
Avatar de darkleo  
Fecha de Ingreso: octubre-2007
Mensajes: 106
Antigüedad: 16 años, 6 meses
Puntos: 0
Respuesta: problemas ejecutar .bat desde java

Aclaración sobre la pregunta realizada inicialemente:
yo lanzo el comando:
c:\dir1\dir2\src.bat
y todo ok desde la ventana de comandos DOS.
el problema es cuando esos directorios llevan espacios, al llamarlo desde el programa hecho en java
¿como debo meter las comillas para que esto funcione?

Muchas gracias
__________________
Just LeO
  #5 (permalink)  
Antiguo 04/10/2010, 17:42
 
Fecha de Ingreso: octubre-2010
Mensajes: 2
Antigüedad: 13 años, 6 meses
Puntos: 0
De acuerdo Respuesta: problemas ejecutar .bat desde java

facil, para poder trabajar con " solo creas una variable tipo char y la insertas así

si quieres escribir dato = "alguna "entre" comillas ";
solo haces lo siguiente


char comillas = '"';
dato = "algo " + comillas + "entre" + comillas + " comillas";


Espero que te sirva.

Hasta pronto
  #6 (permalink)  
Antiguo 05/10/2010, 18:40
 
Fecha de Ingreso: octubre-2010
Mensajes: 9
Antigüedad: 13 años, 6 meses
Puntos: 1
Respuesta: problemas ejecutar .bat desde java

Cita:
Iniciado por tavolondono Ver Mensaje
facil, para poder trabajar con " solo creas una variable tipo char y la insertas así

si quieres escribir dato = "alguna "entre" comillas ";
solo haces lo siguiente


char comillas = '"';
dato = "algo " + comillas + "entre" + comillas + " comillas";


Espero que te sirva.

Hasta pronto
Ineficiente e innecesario, con utilizar la secuencia de escape \" es suficiente y te ahorras la concatenación, que aunque no lo creas, es un proceso caro en Java.

La solución que han dado antes debería funcionar. Si el comando "bruto" que quieres ejecutar es:
Código:
cmd.exe /K start "C:\Program Files\Network Registrar\Local\bin\nrcmd.bat"
no tienes más que usar una cadena de esta forma
Código:
"cmd.exe /K start \"C:\\Program Files\\Network Registrar\\Local\\bin\\nrcmd.bat\""
Windows se encarga del resto.

Además yo personalmente te recomiendo no utilizar nunca rutas que apunten a C:\Program Files o similar, puesto que en cada instalación el nombre puede ser diferente, y utilices la variable de entorno %PROGRAMFILES%, pero esto es otro tema completamente diferente.
  #7 (permalink)  
Antiguo 14/05/2012, 02:09
Avatar de josemanuelescudero83  
Fecha de Ingreso: abril-2012
Mensajes: 2
Antigüedad: 12 años
Puntos: 0
Respuesta: problemas ejecutar .bat desde java

Hola, muy buenas, tu código me sirvió de mucho.

Ahora mi pregunta es, como puedo meter la sentecia que quiero cuando se ejecuta el .bat sin necesidad que me salga la ventana de comandos de windows, es decir hacerlo automaticamente desde la aplicación. meto la cadena depues del .bat pero lo único que hace es aparecer la ventana de comandos.

Un saludo y muchas gracias.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 11:25.