Hallo,
Ich rufe unter Java externe Batch Programme wie folgt auf:
Process p = Runtime.getRuntime().exec( "Batchname Parameter");
Anschliessend lese ich stdout und stderr dieses Batchprogramms
über InputStreamReader aus und gebe diese unter Java aus.
Danach warte ich auf Beendigung des Batches mit
p.waitFor();
und ermittel dessen Exitcode (Errorlevel) mit
int iRet=p.exitValue();
Diesen Exitcode brauche ich unter Java, um den Erfolgsstatus
des aufgerufenen Batch Programms zu überprüfen.
Das funktioniert auch unter NT4.0 meistens recht gut, aber auf
manchen Rechnern eben nicht.
Dort bekomme ich seltsamerweise immer eine 0 als Returnwert.
Noch seltsamer ist, daß dies nur beim Aufruf von Batch/Cmd Programmen
passiert, der Exitcode beim Aufruf kompilierter Executables auch auf
diesen Rechnern richtig kommt.
Ich vermute, daß die Ursache für dieses "Fehlverhalten" in der
Konfiguration der betroffenen Rechner liegt. (Service Pack, Rechteverwaltung oder so).
Hat jemand eine Idee ?