Ejecutar comando Windows en Java
Publicado por Clayder (70 intervenciones) el 07/01/2007 05:46:48
Hola:
Quisiera saber por que cuando quiero ejecutar comandos de windows como mkdir, este no funciona, y me lanza una excepcion. Pero esto no ocurre cuando pongo el comando shutdown en el Process. La linea de codigo con la tengo problemas es esta
Runtime.getRuntime().exec("mkdir C:\\Clayder");
La idea original era cambiar de disco y luego de directorio en diferentes process, para de ahi ejecutar un fichero java, asi como sigue:
String exec1 = f.getPath().substring(0,2);//aqui cogo la unidad de disco
String exec2 = "CD " + f.getParent();//aqui cambio de directorio
String exec3 = "java " + f.getName();aqui ejecuto el .class
Runtime r = Runtime.getRuntime();
Process p1 = r.exec(exec1);
Process p2 = r.exec(exec2);
Process p3 = r.exec(exec3);
donde f es un objeto de la clase File. Pero para mala suerte me he estancado en esto.
Como podria resolver este problema??, si hubiera alguna mejor forma de hacerlo por favor comuniquenme.
He estado pensando en hacer un .bat, esa seria la unica salida??
Les agradesco por su paciencia.
Gracias.
Quisiera saber por que cuando quiero ejecutar comandos de windows como mkdir, este no funciona, y me lanza una excepcion. Pero esto no ocurre cuando pongo el comando shutdown en el Process. La linea de codigo con la tengo problemas es esta
Runtime.getRuntime().exec("mkdir C:\\Clayder");
La idea original era cambiar de disco y luego de directorio en diferentes process, para de ahi ejecutar un fichero java, asi como sigue:
String exec1 = f.getPath().substring(0,2);//aqui cogo la unidad de disco
String exec2 = "CD " + f.getParent();//aqui cambio de directorio
String exec3 = "java " + f.getName();aqui ejecuto el .class
Runtime r = Runtime.getRuntime();
Process p1 = r.exec(exec1);
Process p2 = r.exec(exec2);
Process p3 = r.exec(exec3);
donde f es un objeto de la clase File. Pero para mala suerte me he estancado en esto.
Como podria resolver este problema??, si hubiera alguna mejor forma de hacerlo por favor comuniquenme.
He estado pensando en hacer un .bat, esa seria la unica salida??
Les agradesco por su paciencia.
Gracias.
Valora esta pregunta


0