Mit Java o.ä. eine Batch Datei starten?

5 Antworten

Das ist eine Methode, mit der du eine Batchdatei außführen kannst.

Wenn du nicht gennau weißt, wo du den Ordner plazieren musst, gibt dir die Fehlermeldung einen Hinweis. Ich denke, du kennst schon alle Grundlagen zu Methoden. Oder?

public static void startBat(Strign name) {
  File batchFile = new File("batch files/" + name + ".bat");
  try {
    Runtime.getRuntime().exec("cmd / c \"" + batchFile.getAbsolutePath() + "\"");
  } catch (IOException e) {
    System.err.println("An error acoured while trying to start the batch batchFile \"" + batchFile.getAbsolutePath() + "\"! Error:" + e.getMessage());
  }
}

Hallo,

ich habe dir mal ein sehr einfaches Programm geschrieben, mit dem du das realisieren kannst was du da möchtest. Natürlich erfordert es noch einige Anpassungen deinerseits. Zur Einfachheit ist das Programm nur in einer Klasse geschrieben. Wenn du tiefer in die Java Entwicklung einsteigen möchtest, ist es ratsam einige Bücher zu kaufen.

Hoffe, ich konnte dir helfen.

package main;
import java.awt.Dimension;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class Main{
 
 public static JFrame frame;
 public static JPanel mainframe;
 public static JButton[] button;
 public static void main(String[] args) {
  
  frame = new JFrame("Test");
  frame.setSize(new Dimension(400, 500));
  frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  frame.setResizable(false);
  frame.setLocationRelativeTo(null);
  frame.setLayout(null);
  
  mainframe = new JPanel();
  mainframe.setLayout(null);
  frame.setContentPane(mainframe);  
  
  button = new JButton[7];
  
  for(int i = 0; i < 6; i++) { 
   button[i] = new JButton("Batch " + Integer.valueOf(i+1) + " ausführen");   
   button[i].setSize(new Dimension(325, 35));
   button[i].setLocation(30, i*40+50);
   button[i].addActionListener(new ActionListener() {
    @Override
    public void actionPerformed(ActionEvent arg0) {
     try {
      Runtime.getRuntime().exec(""); //Command für das starten deiner Bat (Nummeriere deine .bat Dateien und setzte im Programm dafür die Variabel i ein.      
     }catch(Exception x) {
      System.out.println("Datei konnte nicht gestartet werden.");
     }      
    }    
   });
   mainframe.add(button[i]);
  }
  
  button[6] = new JButton("Schliessen");
  button[6].setSize(new Dimension(325, 35));
  button[6].setLocation(30, 400);
  button[6].addActionListener(new ActionListener() {
   @Override
   public void actionPerformed(ActionEvent arg0) {
    System.exit(0);    
   }   
  });
  mainframe.add(button[6]);
  
  frame.setVisible(true);
 }
}

Ja, sieht man auch am Look&Feel, dass das Java ist.

crunsch  19.06.2018, 10:12

./. Edit

0