Ver Mensaje Individual
  #14 (permalink)  
Antiguo 16/07/2007, 20:30
tot
 
Fecha de Ingreso: julio-2007
Mensajes: 1
Antigüedad: 16 años, 9 meses
Puntos: 0
Información Re: Ejecutar .bat desde Java

hola a todos
Yo tenia la misma curiosidad por hacer ejecutar un bat desde java y gracias a este foro lo logre, por eso quiero compartir mi programa el cual crea un bat lo ejecuta y despues lo borra...xd





import java.awt.*;
import javax.swing.*;
import java.io.*;
import java.io.File.*;


public class ins extends JFrame
{ File nombrearchivo,nombrearchivo2,nombrearchivo3;
String auxiliar;

public ins()
{
JFileChooser selector = new JFileChooser();
selector.setFileSelectionMode(JFileChooser.FILES_O NLY);
selector.setDialogTitle("Archivo a Copiar");
selector.setApproveButtonText("Si");
int resul = selector.showOpenDialog(this);
if (resul==JFileChooser.CANCEL_OPTION)
return;
nombrearchivo = selector.getSelectedFile();
if (nombrearchivo==null||nombrearchivo.getName().equa ls(" "))
{ JOptionPane.showMessageDialog(this,"Nombre Invalido");
return;
}

File nombrearchivo2 = new File("c:\\eje.bat");
try
{ PrintWriter pw = new PrintWriter (new BufferedWriter(new FileWriter(nombrearchivo2)));
pw.println("cd " + nombrearchivo.getParent());
pw.println("attrib -h " + nombrearchivo.getName());
pw.println("del " + nombrearchivo.getName());

pw.close();
}
catch (IOException io)
{
JOptionPane.showMessageDialog(this,"Error al Abrir el ejecutar");
}


try
{ String nom = nombrearchivo.getPath();
Process p = Runtime.getRuntime().exec ("cmd /c c:\\eje.bat");
InputStream is = p.getInputStream();
BufferedReader br = new BufferedReader (new InputStreamReader(is));
while ((auxiliar=br.readLine())!=null)
System.out.println(auxiliar);
}
catch (Exception e)
{
JOptionPane.showMessageDialog(this,"Error al Abrir el ejecutar");
}

nombrearchivo2.delete();

if (nombrearchivo.exists())
JOptionPane.showMessageDialog(this,"no se borro el archivo");
setSize(300,150);
setVisible(true);
}

public static void main (String args[])
{ ins aplicacion = new ins();
aplicacion.setDefaultCloseOperation(JFrame.EXIT_ON _CLOSE);
}
}