Rückgabewert eines CMD Befehls ermitteln
-
Hallo zusammen. Ich möchte mit Java einen CMD Befehl ausführen und will sichergehen dass dieser erfolgreich ist.
Zum Beispiel möchte ich den net use Befehl benutzenRuntime.getRuntime().exec ( "cmd /c net use " + NETLAUFWERK_XML + " //delete" )
Wie kann ich jetzt ermittlen das es erfolgreich war?
-
In dem du den Rückgabewert von exec betrachtest?
-
Runtime.getRuntime().exec ( "cmd /c net use " + NETLAUFWERK_XML + " //delete" )
Das sollte dir normal einen "Prozess" zurückgeben. Da gibt es dann afaik ein getInputStream und getOutputStream. Da kannst du dann die Ausgabe des Prozesses lesen bzw den Prozess mit Daten füttern.
So oder so ähnlich sollte das funktionieren
-
Dasd schrieb:
In dem du den Rückgabewert von exec betrachtest?
Process p = Runtime.getRuntime().exec ( "" ); // on Linux and Windows, 0 == erfolgreich // es gibt auch Systeme, die 1 bei Erfolg zurückgeben. // Das musst du evtl. nachlesen, wenn dein Code auf // mehreren System korrekt funktionieren soll. if (p.exitValue () == 0) // erfolgreich } else { // nicht erfolgreich }
http://download.oracle.com/javase/6/docs/api/java/lang/Process.html#exitValue()
-
Siassei schrieb:
Dasd schrieb:
In dem du den Rückgabewert von exec betrachtest?
...
Meine Frage war eher rhetorisch gemeint. Ich hatte gehofft, wir könnten den Threadersteller das selbst herausfinden lassen (falls er das nicht bereits getan hat).