Zum Inhalt springen

Empfohlene Beiträge

Geschrieben

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

Geschrieben

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 :rolleyes: 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]

Geschrieben

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

Geschrieben
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

Geschrieben
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

Geschrieben

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.

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.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...