Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Variable an bat-Datei übergeben

Empfohlene Antworten

Hi,

wie kann ich denn aus einem Java-Programm eine Variable mitsamt Inhalt an eine bat-Datei weitergeben? :confused:

Cu Snopsy

Beschreib mal genauer was du vor hast, am besten mit Code Schnippseln :)

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

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]

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

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*

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

Naja dann war ich schonmal aufm richtigen Weg :)

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

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

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.

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Konto

Navigation

Suchen

Suchen

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.