Veröffentlicht 29. August 200223 j Hi, kann mir bitte einer sagen was ich da falsch mache. Ich habe schon mehrere Möglichkeiten ausprobiert Wie z.B. Runtime.getRuntime().exec("cmd /C c:\\GenDoc_variabelTest.bat"); oder Runtime.getRuntime().exec("cmd c:\\GenDoc_variabelTest.bat"); [PHP] import java.awt.*; import java.awt.event.*; import java.io.*; class Generieren implements ActionListener { public void actionPerformed(ActionEvent e) { try { System.out.println("\n" + "Variablen fuer die Generierung: " + "\n" + "------------------------------" + "\n" + "Handbuch: " + DokumentationsGui.handbuchcmb.getSelectedItem() + "\n" + "Ergebnistyp: " + DokumentationsGui.ergebnistypcmb.getSelectedItem() + "\n" + "Speicherort der Dokumentation: " + DokumentationsGui.dokutfd.getText()); Runtime.getRuntime().exec("C:\\WINNT\\system32\\cmd /C c:\\GenDoc_variabelTest.bat" + DokumentationsGui.handbuchcmb.getSelectedItem() + DokumentationsGui.ergebnistypcmb.getSelectedItem() + DokumentationsGui.dokutfd.getText()); } catch(IOException ioe) { System.err.println(ioe.getMessage()); } } } [/PHP] [/code]
29. August 200223 j Zunächst weiss ich nicht so ganz, was du vor hast, aber ich geh jetzt einfach mal davon aus, dass du die Batch-Datei mit den parametern starten willst. Wenn das so ist, übergibst du einfach nur die Batch-Datei mit parameter und lässt einach das CMD /C weg...
29. August 200223 j HI, hm. Es würde dich vielleicht schon weiterbringen, wenn du die Zeile: System.out.println(ex.getMessage()); durch ex.printStackTrace(); ersetzt.... vielleicht siehst du dann da etwas mehr. Hast du mal versucht im Pfad statt c:\\ --> c:/ zu benutzen ?
29. August 200223 j ich weiß ja leider nach wie vor nicht, WAS nicht funktioniert. Vielleicht bringt es dir auch was, wenn du den String, den du in exec zusammenbastels schon mal vorher als tempString aufbaust und dir den dann mal ausgeben lässt...
29. August 200223 j der bringt keine Fehler, weil er die CMD-Box öffnet. Aber macht nichts weiter. Das habe ich auch schon probiert das davor in einen String zu basteln. Mit einer EXE Datei funktioniert es einwandfrei.
29. August 200223 j EDIT: Ich glaube ich habs... diese Zeile ist falsch: Runtime.getRuntime().exec("C:\WINNT\system32\cmd /C c:\GenDoc_variabelTest.bat" mach´daraus mal diese: Runtime.getRuntime().exec("C:/WINNT/system32/cmd /C c:/GenDoc_variabelTest.bat"
29. August 200223 j Hallo, Runtime.getRuntime().exec("c:/test.bat"); sollte funktionieren. Zumindest funktioniert es bei mir. Gruß Jaraz
29. August 200223 j Ich habe es ausprobiert aber es geht leider auch nicht. Kann es sein das es an der VM liegt, dass die Batch-Datei nicht ausgeführt werden kann?
29. August 200223 j ja ich habe es schon so // so / und so \\ auprobiert aber es geht bei mir nicht. Aber ich werde es heute Abend zuhause ausprobieren, weil ich schon langsam glaube ich das es an dem PC hier liegt. Da es bei euch ja auch gehen würde.
29. August 200223 j Hatte ich auch schon. Scheint wirklich vom Rechner ein bischen abzuhängen (VM-Version? ...). Da mir das Ganze zu unsicher war habe ich auf einen Umweg zurückgegriffen: Hab eine EXE-Datei geöffnet, die als Parameter die Batchdatei mitkriegt und die per ShellExecute ausführt (EXE ist in C++ geschrieben). Vieleicht ein bischen umständlicher, aber dafür funktioniert überall zuverlässig!
Archiv
Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.