- Mitglied seit
- 04.08.2002
- Beiträge
- 1.869
- Reaktionen
- 0
Nabend.
Ich habe ein großes Problem, mit dem ich mich jetzt schon seit einigen Stunden rumschlage und ich komme einfach nicht weiter. Ich hoffe, jemand von Euch hat ne Idee, was ich falsch mache.
Also: Ich versuche aus meinem Java-Programm heraus eine Batch-Datei aufzurufen. Dazu benutze ich den Befehl
Process p = Runtime.getRuntime().exec(...);
p.waitFor();
Hiermit kann ich auch wunderbar "normale" Executables ausführen. Wenn ich allerdings versuche ein Batch-File auszuführen, in dem bestimmte Operationen vorgenommen werden - beispielsweise das wechseln eines Verzeichnisses mit "cd .." - dann führt er das Batch-Skript genau bis zu dieser Stelle aus und verharrt dann endlos bei diesem Befehl.
Beispiel:
Das folgende Batch-Skript
echo HelloWorld >Test.txt
echo HelloWorld2 >Test2.txt
cd..
echo HelloWorld3 >Test3.txt
Führt er genau bis zum "cd.." aus. Der letzte befehl wird nich mehr ausgeführt. Stattdessen hält er bei der WaitFor() Anweisung an und läuft einfach nicht mehr weiter...
Woran kann das bitte liegen? Mache ich evtl. beim Aufruf was falsch?
Ich rufe das Batch-File mit
Runtime.getRuntime().exec(BATCH_FILE_NAME, null, new File(PATH_TO_BATCHFILE));
auf.
Würde mich über jede Hilfe freuen, bin nämlich grad am verzweifeln.
Thx
m.a.k.
Ich habe ein großes Problem, mit dem ich mich jetzt schon seit einigen Stunden rumschlage und ich komme einfach nicht weiter. Ich hoffe, jemand von Euch hat ne Idee, was ich falsch mache.
Also: Ich versuche aus meinem Java-Programm heraus eine Batch-Datei aufzurufen. Dazu benutze ich den Befehl
Process p = Runtime.getRuntime().exec(...);
p.waitFor();
Hiermit kann ich auch wunderbar "normale" Executables ausführen. Wenn ich allerdings versuche ein Batch-File auszuführen, in dem bestimmte Operationen vorgenommen werden - beispielsweise das wechseln eines Verzeichnisses mit "cd .." - dann führt er das Batch-Skript genau bis zu dieser Stelle aus und verharrt dann endlos bei diesem Befehl.
Beispiel:
Das folgende Batch-Skript
echo HelloWorld >Test.txt
echo HelloWorld2 >Test2.txt
cd..
echo HelloWorld3 >Test3.txt
Führt er genau bis zum "cd.." aus. Der letzte befehl wird nich mehr ausgeführt. Stattdessen hält er bei der WaitFor() Anweisung an und läuft einfach nicht mehr weiter...
Woran kann das bitte liegen? Mache ich evtl. beim Aufruf was falsch?
Ich rufe das Batch-File mit
Runtime.getRuntime().exec(BATCH_FILE_NAME, null, new File(PATH_TO_BATCHFILE));
auf.
Würde mich über jede Hilfe freuen, bin nämlich grad am verzweifeln.
Thx
m.a.k.



an alle für die hilfe (und ganz besonders ans killerhuhn)