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

Ejecutar comandos dentro de Java

Estas en el tema de Ejecutar comandos dentro de Java en el foro de Java en Foros del Web. Hola a todos: Estoy intentando hacer un programa que es parte de una aplicacion en el que necesito copiar el contenido de un Folder/Carpeta a ...
  #1 (permalink)  
Antiguo 23/01/2011, 13:29
 
Fecha de Ingreso: septiembre-2006
Mensajes: 14
Antigüedad: 14 años, 8 meses
Puntos: 0
Ejecutar comandos dentro de Java

Hola a todos:

Estoy intentando hacer un programa que es parte de una aplicacion en el que necesito copiar el contenido de un Folder/Carpeta a otra en el mismo disco duro , hacer esto con comandos en el Sistema Operativo es facil, pero hacerlo dentro de Java me esta costando mucho trabajo, yo hice lo siguiente y se ejecuta bien pero no produce nada, solo se queda la maquina como que esta trabajando, pero en realidad no graba nada.

Cualquier ayuda es bienvenida.
Gracias de antemano.

Aqui esta el codigo de RuntimeExec.java:
++++++++++++++++++++++++++++++++++++++++++++++
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.IOException;

public class RuntimeExec{
public static void main(String[] args){
try
{
String dosCommand = "cmd.exe";
String sourcefile = "C:\\Instal_Victoria\\scripts\\*.*";
String destfolder = "C:\\Inetpub\\wwwroot\\Vicky";
Runtime rt = Runtime.getRuntime();

Process p = rt.exec(dosCommand+" "+"copy"+" "+sourcefile+" "+destfolder);

/*BufferedReader input = new BufferedReader(new InputStreamReader(p.getInputStream()));
String line=null;

while((line=input.readLine()) != null)
{
System.out.println(line);
}
*/

p.waitFor();
System.out.println(p.exitValue());
p.destroy();

}catch (IOException e)
{
e.printStackTrace();
}
catch (InterruptedException i)
{
i.printStackTrace();
}

}

}
++++++++++++++++++++++++++++++++++++++++++++

Por cierto estoy trabajando en Windows XP SP2.
  #2 (permalink)  
Antiguo 23/01/2011, 14:20
Avatar de pablor21  
Fecha de Ingreso: noviembre-2008
Ubicación: Montevideo - Uruguay
Mensajes: 197
Antigüedad: 12 años, 7 meses
Puntos: 13
Respuesta: Ejecutar comandos dentro de Java

Una cosa importante sería que en java deberías tener siempre en mente que debes minimizar la dependencia del SO, ya que una de sus ventajas (entre muchas) es que escribes una vez y ejecutas siempre.

Fijate esto a ver si te sirve

http://www.forosdelweb.com/1638941-post41.html

Saludos
__________________
Desarrolloador Freelance - http://www.mvdit.com.uy
  #3 (permalink)  
Antiguo 24/01/2011, 12:49
 
Fecha de Ingreso: septiembre-2006
Mensajes: 14
Antigüedad: 14 años, 8 meses
Puntos: 0
Respuesta: Ejecutar comandos dentro de Java(Resuelto)

Hola pablor21:
Gracias por responder a mi duda.
Fijate que si, estoy de acuerdo contigo en eso de la dependencia del SO, pero en este caso este programa va a formar parte de una Instalacion de una Aplicacion que solo corre en Windows, por eso no me preocupa, si fuera otro el caso, trataria de hacerlo de otra manera.

Nuevamente gracias por el tip.
  #4 (permalink)  
Antiguo 24/01/2011, 13:27
 
Fecha de Ingreso: enero-2008
Mensajes: 614
Antigüedad: 13 años, 5 meses
Puntos: 57
Respuesta: Ejecutar comandos dentro de Java

Tienes que ejecutar cmd.exe con uno de los parametros /C o /K

cmd.exe /C comando. Ejecuta comando y cmd.exe termina sin esperar a que comando termine
cmd.exe /K comando. Ejecuta comando y cmd.exe espera a que comando termine

Para ver todas las opciones ejecuta cmd.exe /?

Etiquetas: comandos, ejecutar
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 12:14.