Mit Java Befehle auf Konsole ausführen

Nisibaer

Neues Mitglied
Hi,

ich hab ein Problem und zwar will ich mit Java Befehle auf der Kommandozeile ausführen und dann wieder zu meinem Java-Programm zurückspringen. Ich habe im Internet schon einiges darüber gelesen, es ist wohl nicht so einfach und bisher konnte ich mit allem noch nicht so viel anfangen. Ich möchte gerne sowas auf der Konsole ausführen lassen:

cdo -selsmon,+i+ Wertung_gesamt_+Pflanze+_+Jahre+.nc Wertung_gesamt_+i+_+Pflanze+_+Jahre+.nc

wobei cdo ein Programm zur Auswertung von .nc Dateien ist und -selsmon ein Befehl davon. +Pflanze+ usw. Variablen, die in meinem Programm deklariert sind. Was/Wie kann ich jetzt in mein Programm einbauen, damit er das auf der Konsole berechnet und dann wieder zurückgeht, um zum Beispiel einen neuen Befehl auszuführen?

Viele Grüße
Denise
 
Moin,

wenn ich Dich richtig verstehe, möchtest Du den DOS-Kommendointerpreter aufrufen, oder ?
Hier mal ein kleines Beispiel:
Java:
String strCMD = "cmd /c copy " + fileDummy + " " + fileAktuell;
try
{
	Process proc = Runtime.getRuntime().exec( strCMD );
	proc.waitFor();
}	
catch( InterruptedException eIE )
{
	eIE.printStackTrace();
}
catch( IOException eIO )
{
	eIO.printStackTrace();
}
IHMO kannst Du aber ein Ergebnis nicht an die Applikation zurückgeben!

Warum muss denn überhaupt auf der Konsole gerechnet werden und nicht im Programm ???:L

Gruß
Klaus
 
IHMO kannst Du aber ein Ergebnis nicht an die Applikation zurückgeben!

Klar geht das.

Warum muss denn überhaupt auf der Konsole gerechnet werden und nicht im Programm

In vielen kaufmännischen Anwendungen ist das so, dass bereits etablierte und nicht zu ersetzende Systeme (Schnittstellen) auf diese Weise aufgerufen werden müssen.

In der realen Welt gibt es nicht immer Webservices, die einem exakt das zurückgeben, was man gerade im Augenblick braucht.
 
Hey, erstmal vielen Dank für die schnellen Antworten.

Genau, ich möchte das auf dem DOS-Kommandointerpreter eingeben und ausführen lassen. Ich brauche noch nichtmal irgendwas was zurückgegeben werden soll. Meine Befehle bestehen im Prinzip einfach nur daraus, dass ein externes Programm (cdo) meine .nc-files bearbeitet und unter einem neuen Namen abspeichert, auf diese Dateien kann ich ja dann unter dem Namen auf die neuen Dateien wieder zugreifen und wieder mit dem cdo-Programm bearbeiten. Ich brauche also nicht ein zurückgegebenes Ergebnis, mit dem ich weiterarbeite. Ich will halt nur immer wieder das ausführen lassen (auf dem Interpreter) und weiter in meinem Programm "gehen".

Ich glaube, dass das im Java-Programm nicht geht (die Berechnung), weil ich dieses externe Programm aufrufen muss, dass eben die .nc-files bearbeitet.
Ich werde das, was Du als Beispiel geschickt hast morgen mal ausprobieren 🙂
Danke!
 

Neue Themen


Zurück
Oben