snopsy Geschrieben 4. Juni 2002 Geschrieben 4. Juni 2002 Hi, wie kann ich denn aus einem Java-Programm eine Variable mitsamt Inhalt an eine bat-Datei weitergeben? :confused: Cu Snopsy Zitieren
MasterSy Geschrieben 4. Juni 2002 Geschrieben 4. Juni 2002 Beschreib mal genauer was du vor hast, am besten mit Code Schnippseln Zitieren
snopsy Geschrieben 4. Juni 2002 Autor Geschrieben 4. Juni 2002 also, ich habe eine Methode in einer Klasse, die sieht wie folgt aus: public void ueberpruefe(String out) { String wert = out; StringTokenizer st = new StringTokenizer(wert, "/"); String neuerWert = st.nextToken(); System.out.println("Neuer Wert: " + neuerWert); if (neuerWert.equals("Test") || neuerWert.equals("DwhBasis")) { String rueckgabewert = "1"; System.out.println(rueckgabewert); } else { String rueckgabewert = "0"; System.out.println(rueckgabewert); } }[/PHP] In einer anderen Klasse habe ich die main-Methode, die folgendermaßen aussieht: [PHP]public static void main(String[] args) { String out = args[0]; Abfrage a = new Abfrage(); a.ueberpruefe(out); } Am anfang starte ich eine bat-Datei. In dieser wird eine Variabel "%5" gefüllt. Diese wird über den Programmaufruf in der Batdatei in das Programm übergeben. Die Variable ist immer so aufgebaut: "/Test/Programm/Start". Nun soll überprüft werden, was zwischen den ersten beiden Slash's ( / ) geschrieben steht. Je nachdem soll 0 oder 1 zurückgegeben werden. Diese 0 oder 1 will ich dann wieder an meine bat-Datei zurückgeben, damit das Programm da dann weiterlaufen kann. Wie mache ich das? Grüßle Snopsy Zitieren
MasterSy Geschrieben 4. Juni 2002 Geschrieben 4. Juni 2002 So auf die schnelle keine Idee aber mal ne blöde Frage, wenn du doch Java programmierst warum übergibst du den Wert nicht einfach an den nächsten Programmteil? Oder wie hast du vor in der Bat weiterzumachen? Aber so rein durchs drübergucken, irgendwie hast du nen paar unnötige Veriablen =) Du könntest oben direkt (String wert) machen und wert unten dann benutzen und rückgabe wert müßtest du auch nicht extra machen sondern könntest direkt über System.out.println 1 oder 0 rausgeben, fällt mir nur so auf ca so: public void ueberpruefe(String wert) { StringTokenizer st = new StringTokenizer(wert, "/"); wert = st.nextToken(); System.out.println("Neuer Wert: " + neuerWert); if (neuerWert.equals("Test") || neuerWert.equals("DwhBasis")) { System.out.println("1"); } else { System.out.println("0"); } }[/PHP] Zitieren
snopsy Geschrieben 4. Juni 2002 Autor Geschrieben 4. Juni 2002 also, die bat-datei ist nicht von mir geschrieben, die habe ich so bekommen. Mir wurde nur gesagt, meinst du das geht und das bekommst du hin. Dann hab ich gesagt ich versuchs mal. OK, die erste Variable kann ich mir schenken. Bei der zweiten (rueckgabewert) dachte ich, die bräuchte ich, um den Wert an die Bat-Datei weiterzugeben. Also ich mach da dann später kein system.out.... mehr, sondern die übergabe an meine bat-datei. In der Bat-datei kommt nach dem Aufruf des Programms dann eine Überprüfung rein, ob der rueckgabewert 0 oder 1 ist und dann wird hier dementsprechend weiterverzweigt. Kann mir hier irgendjemand helfen??? Wäre echt super. Ich bräuchte des dringend. Danke & GRuß Snopsy Zitieren
MasterSy Geschrieben 4. Juni 2002 Geschrieben 4. Juni 2002 Also hab mal meinen Cheffe gefragt, mit Runtime.getRuntime().exec(String command) Könnte das gehen, findest das ganze unter java.lang.Runtime Hoffe das hilft *daumen drück* Zitieren
Jaraz Geschrieben 4. Juni 2002 Geschrieben 4. Juni 2002 Original geschrieben von snopsy System.out.println(rueckgabewert); Das geht so nicht... Der Batch job ist ein eigener Process. Für diesen Process musst du dir in Java den OutputStream holen und die Ausgaben dann über diesen zurückgeben. Das hier sollte helfen. Gruß Jaraz Zitieren
MasterSy Geschrieben 4. Juni 2002 Geschrieben 4. Juni 2002 Naja dann war ich schonmal aufm richtigen Weg Zitieren
Codon Geschrieben 5. Juni 2002 Geschrieben 5. Juni 2002 Oder du schreibst den Rückgabe Wert in eine Datei. Diese kann die Batch Datei ja dann auslesen und mit der Variablen weiter arbeiten. Gruß Codon Zitieren
snopsy Geschrieben 5. Juni 2002 Autor Geschrieben 5. Juni 2002 Original geschrieben von Codon Oder du schreibst den Rückgabe Wert in eine Datei. Diese kann die Batch Datei ja dann auslesen und mit der Variablen weiter arbeiten. Wie kann ich in einer batch-Datei eine andere z.B. txt-datei auslesen? Hab da leider keine Ahnung davon!!! Danke & Gruß Snopsy Zitieren
Mirko Geschrieben 5. Juni 2002 Geschrieben 5. Juni 2002 Du brauchst dafür gar keine Datei. Du kannst den Wert mit System.exit(WERT); zurückgeben. Der WERT steckt dann in der Umgebungsvariablen ERRORLEVEL und die kannst du dann in der Batch-Datei abfragen. Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.