Parameterübergabe bei Runtime.getRuntime().exec

Status
Nicht offen für weitere Antworten.
G

Guest

Gast
Hallo,

ich habe eine relativ simples Problem.
Ich möchte ein externes Programm mit jeder Menge Parameter aufrufen.
Meine Anzeige bestätigt auch, dass das Programm ausgeführt wurde, allerdings wurde es ohne die angegebenen Parameter gestartet. Wie starte ich das Programm mit übergebenen Parametern? Als einfacher String wie im Beispiel scheint es nicht zu klappen, obwohl ich es in anderen Beispielen auch so gesehen hab. Was mach ich falsch?



Code:
String cmd=".\\bin\\sapinfo.exe ashost="+SysServer[i]+" sysnr="+SystemNo[i]+" >nul & if errorlevel 1 (echo not_active) ELSE ( echo active)";
System.out.println("Auszuführendes Kommando: " +cmd);
InputStreamReader In = new InputStreamReader(Runtime.getRuntime().exec(cmd).getInputStream());
BufferedReader br = new BufferedReader(In); 

String strLine =  ""; 
while ((strLine=br.readLine())!= null) 
    System.out.println("Line: "+strLine); 
br.close();
[/code]
 
G

Gast

Gast
Hmm. Was bedeutet das "/C"?
Ich hab es jetzt mal so probiert:

Code:
String cmd=".\\bin\\sapinfo.exe /c ashost="+SysServer[i]+" sysnr="+SystemNo[i]+" >nul & if errorlevel 1 (echo SYSTEM_STATUS not_active) ELSE ( echo SYSTEM_STATUS active)";

Es hat aber auch nicht funktioniert.
Muss das "/C" vielleicht vor jedem Parameter stehen?
 
G

Gast

Gast
Prima! Danke, das funktioniert!

also so gehts:
Code:
String cmd = "cmd /c Datei.exe Parameter1 Parameter2 ParameterN";
Wobei cmd der Konsole cmd.exe entspricht. Bei DOS Programmen sollte hierbei Command.com statt cmd verwendet werden.
Ich hoffe ich hab das richtig zusammengefaßt.
 

thE_29

Top Contributor
Naja, ich verwende eigentlich immer cmd.exe

Nur man muss bedenken, win 9x hat nur command!
 

T1M

Bekanntes Mitglied
Hi,
ich hab n ähnliches prob.
hab n prog geschrieben, das mir den rechner runterfährt, und starte das über ne .bat. jetzt hätt ichs gern, das ich im cmd n wert angeben kann, wann der rechner runtergefahren werden soll. also, das mit der verzögerung klappt bestens, aber nur wenn ich das prog aus eclipse laufen lasse. macht aber nicht wirklich sinn, jedesmal erst eclipse zu starten um das prog auszuführen.
wie kann ich jetzt über die konsole den parameter übergeben? hab das von oben mal aufgegriffen, aber es tut nix.

Code:
InputStreamReader reader = new InputStreamReader(System.in);
		BufferedReader input = new BufferedReader(reader);
		String text="cmd /c";
		try
		{
			text=input.readLine();
		}
...
try
		{
			sleep(Integer.parseInt(text));
		}

meine kleine .bat:
Code:
echo herrunterfahren
set path=.;C:\meine Programme\java 2 sdk1.4.2_05\bin%PATH%
C:\meine Programme\eclipse\eclipse\workspace\WinXP_Shutdown
javaw Shutdown


fehlermedlung bekomm ich auch: fatal exception occured. program will exit
geb ich das von hand ins cmd ein bekomm ich die: could not find the main class. program will exit

Dank euch.
 

L-ectron-X

Gesperrter Benutzer
T1M hat gesagt.:
ich hab n ähnliches prob.

Ich denke nicht. Du hast ein ganz anderes.
Du kannst entweder in deiner main()-Methode die übergebenen Argumente abfragen und in deinem Programm entsprechend einsetzen, oder über einen InputStream, so wie du schon angefangen hast, den Wert auf der Java-Console im laufenden Programm eingeben lassen. Zur Eingabe wird hier eine System-Console über Runtime nicht benötigt.
 

T1M

Bekanntes Mitglied
Hey, danke für die schnelle antwort.
ich wollt aber, dass das programm mir ne cmd öffnet in der ich die verbleibenden minuten bis zum shutdown eingeben kann.
wenn es so net geht, wie dann?
 

L-ectron-X

Gesperrter Benutzer
Irgendwie sehe ich noch keinen Sinn in der ganzen Aktion...
Wenn du deinen Rechner herunterfahren möchtest, gib den Befehl doch einfach in eine Console oder in einer Batchdatei ein.
Der Befehl: shutdown -s -t 05
...fährt den Rechner nach einer Wartezeit von 5 Sekunden herunter.

Ist das ein Programm mit einem GUI? Oder warum der Umweg über Java?

Eine Batchdatei kann so aussehen:
Code:
rem * Shutdown.bat
@echo off
shutdown -s -t %1

Diese Zeilen schreibst du in eine Batchdatei und benennst sie, wie du möchtest.
Wenn du das System herunterfahren möchtest, rufst du deine Batchdatei auf und gibst z.B. in der Console ein:
Benutzereingabe hat gesagt.:
...und das System wird nach 30 Sekunden heruntergefahren.
 

T1M

Bekanntes Mitglied
:lol: gar keinen sinn!
aber ich hätts halt einfach gern mit java gemacht, denn ich wüsst gern wie ich n wert von der konsole in mein prog übergeben kann. das muss doch gehen!

aso, aber thx für die .bat. maybe feil ich da noch n bissl rum. so is es noch nicht ganz das wahre. ;-)
 

L-ectron-X

Gesperrter Benutzer
Code:
import java.io.*;

public class XPShutdown {
  private BufferedReader reader;
  
  public XPShutdown() {
    System.out.println("Windows XP herunterfahren\n\n");
    reader = new BufferedReader(new InputStreamReader(System.in));
    System.out.print("Zeit bis zum Shutdown in Sekunden: ");
    String input = null;
    try {
      input = reader.readLine();
    }
    catch(IOException e) {
      System.out.println("Fehler beim Lesen der Eingabe!");
    }
    
    for(int i = 0, j = input.length(); i < j; i++) {
      if(!Character.isDigit(input.charAt(i))) {
        System.out.println("\nFehlerhafte Eingabe!\nEs werden nur ganze Zahlen akzeptiert!");
        System.exit(1);
      }
    }
    
    try {
      Runtime.getRuntime().exec("cmd.exe /c shutdown -s -t "+input);
    }
    catch(IOException e) {
      System.out.println("Befehl unbekannt oder nicht ausführbar!");
    }
  }
  
  public static void main(String[] args) {
    new XPShutdown();
  }
}
 

T1M

Bekanntes Mitglied
ja, danke erstmal!
das prog funktioniert auch, wenn ichs in eclipse laufen lasse. soweit war ich ja schon.
aber über die konsole gehts immer noch net.
"could not find main class".
hab mal ne .bat geschrieben. und das was die macht, müsste doch, auf gleichem weg, mit java möglich sein?!

Code:
@echo off 
 set /p zahl="Bitte verbleibende Minuten eingeben: " 
 @echo in %zahl% Minuten wird der Rechner runtergefahren! 
 set /a min=(%zahl%*60) 
 shutdown -s -t %min%

naja, wenn nich, is auch egal.
Aber danke!
T1M
 

L-ectron-X

Gesperrter Benutzer
Hallo!? Das Programm IST auch auf der Console lauffähig. Du machst etwas falsch, willst aber nicht daran arbeiten, den Fehler zu finden. Stattdessen suchst du ständig neue Lösungen. Das von mir gepostete Programm ist voll funktiontüchtig.

Wie hast du denn versucht, das Programm zu starten?
 

T1M

Bekanntes Mitglied
AAAAHHHHHHH!!!! ich bin n depp!
sry, ich war heut morgen noch nich ganz klar im kopp! es funzt bestens!!! Danke! :D
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
T Runtime.getRuntime().exec mit parameterübergabe Java Basics - Anfänger-Themen 16
C System.out.println - Parameterübergabe funktioniert nicht Java Basics - Anfänger-Themen 2
P Parameterübergabe, von Methode zu Methode zu main Java Basics - Anfänger-Themen 4
J Parameterübergabe in switch? Java Basics - Anfänger-Themen 2
W Was bedeutet im Struktogramm „zufall“ aufrufen (keine Parameterübergabe)? Java Basics - Anfänger-Themen 8
M Methode Objekt als Parameterübergabe Java Basics - Anfänger-Themen 6
B Parameterübergabe in main Java Basics - Anfänger-Themen 1
E Erste Schritte Parameterübergabe - Prozentrechner Java Basics - Anfänger-Themen 5
S Methoden Parameterübergabe Java Basics - Anfänger-Themen 4
S Parameterübergabe zwischen zwei Programme Java Basics - Anfänger-Themen 4
Joew0815 Parameterübergabe Java Basics - Anfänger-Themen 3
Q Parameterübergabe - Objekt - Referenz Java Basics - Anfänger-Themen 5
K Parameterübergabe im Terminal(Linux) Java Basics - Anfänger-Themen 8
V Parameterübergabe von Methoden verstehen Java Basics - Anfänger-Themen 13
P Java-Konsolenanwendung mit Parameterübergabe (Windows) Java Basics - Anfänger-Themen 3
X Parameterübergabe per Reflection Java Basics - Anfänger-Themen 10
H Parameterübergabe Java Basics - Anfänger-Themen 4
X Parameterübergabe Java Basics - Anfänger-Themen 6
S Parameterübergabe - identische Funktionen, aber falsche Funktion Java Basics - Anfänger-Themen 5
K Input/Output switch case - Parameterübergabe args[0] Java Basics - Anfänger-Themen 34
E Einfache Frage zur Parameterübergabe in Methoden Java Basics - Anfänger-Themen 8
A Parameterübergabe zwischen statischen und nicht statischen Klassen Java Basics - Anfänger-Themen 6
L Parameterübergabe Java Basics - Anfänger-Themen 6
K Parameterübergabe Java Basics - Anfänger-Themen 3
W Parameterübergabe Java Basics - Anfänger-Themen 9
Y Probleme mit Parameterübergabe Java Basics - Anfänger-Themen 8
O Parameterübergabe mit RadioButtons Java Basics - Anfänger-Themen 2
V Return - JA/NEIN - Parameterübergabe Array (Referenz) Java Basics - Anfänger-Themen 7
G Parameterübergabe über mehrer Klassen Java Basics - Anfänger-Themen 2
S parameterübergabe Java Basics - Anfänger-Themen 5
M Parameterübergabe an *.jar Java Basics - Anfänger-Themen 5
M Parameterübergabe an externe JAR-Datei? Java Basics - Anfänger-Themen 2
B Frage zu Code (Parameterübergabe) Java Basics - Anfänger-Themen 14
S Parameterübergabe: Generische Klasse Java Basics - Anfänger-Themen 4
B printf() mit Parameterübergabe? Java Basics - Anfänger-Themen 2
G Parameterübergabe als Referenz bzw. als Kopie Java Basics - Anfänger-Themen 4
G Java Applikation ein Programm mit Parameterübergabe starten Java Basics - Anfänger-Themen 3
V doPost parameterübergabe funktioniert nicht. Java Basics - Anfänger-Themen 5
G Problem bei Parameterübergabe Java Basics - Anfänger-Themen 2
roflomfg Parameterübergabe in in "*.jar" files möglich? Java Basics - Anfänger-Themen 8
F Rekursive Aufrufe, Parameterübergabe, call by reference Java Basics - Anfänger-Themen 3
D probleme bei der Parameterübergabe Java Basics - Anfänger-Themen 12
M Parameterübergabe Java Basics - Anfänger-Themen 7
J Nested Layouts - Parameterübergabe bei ActionListener Java Basics - Anfänger-Themen 2
M Parameterübergabe! Java Basics - Anfänger-Themen 4
M Probleme bei Parameterübergabe in Rekursion Java Basics - Anfänger-Themen 5
K Parameterübergabe bei quickSort Java Basics - Anfänger-Themen 6
J parameterübergabe arraylist Java Basics - Anfänger-Themen 9
D args und parameterübergabe Java Basics - Anfänger-Themen 8
D Parameterübergabe mit JSP Java Basics - Anfänger-Themen 2
I Parameterübergabe beim Aufruf in der Kommandozeile Java Basics - Anfänger-Themen 4
B Parameterübergabe und return; Java Basics - Anfänger-Themen 3
F Performanceverlust bei ständiger Parameterübergabe? Java Basics - Anfänger-Themen 4
K Parameterübergabe Java Basics - Anfänger-Themen 5
R Parameterübergabe Java Basics - Anfänger-Themen 13
H Parameterübergabe zwischen einzelnen Funktionen Java Basics - Anfänger-Themen 4
DoubleM Runtime.getRuntime().exec Frage Java Basics - Anfänger-Themen 2
J Programm beenden ohne System.exit() oder Runtime.exit() Java Basics - Anfänger-Themen 5
J Mit OpenJDK entwickeln aber Oracle SE Runtime installieren? Java Basics - Anfänger-Themen 6
N Best Practice Doppelte und einfach Anführungsstriche in Runtime.getruntime().exec() Java Basics - Anfänger-Themen 6
O Methoden Runtime.getRuntime().exec(befehl); Java Basics - Anfänger-Themen 6
I equals (Override) mit eigener Exception (keine Runtime-Exception) Java Basics - Anfänger-Themen 9
J Programm was üer Runtime.getRuntime gestartet wird erkennt String Parameter nicht Java Basics - Anfänger-Themen 0
R Einfaches refresh während runtime Java Basics - Anfänger-Themen 4
I Runtime.getRuntime mit delay? Java Basics - Anfänger-Themen 2
L0MiN Input/Output Wie kann ich Kompilierfehler richtig ausgeben lassen (Runtime)? Java Basics - Anfänger-Themen 1
D Input/Output Runtime().exec fehler abfangen Java Basics - Anfänger-Themen 4
D RunTime Exec Java Basics - Anfänger-Themen 7
D Runtime exec output wiedergeben Java Basics - Anfänger-Themen 1
G Wie bekomme ich alle Ausgaben von runTime.exec() Java Basics - Anfänger-Themen 7
T java ohne runtime ? Java Basics - Anfänger-Themen 6
B Error vs Runtime exception Java Basics - Anfänger-Themen 4
K The Java Runtime Environment cannot be found. Java Basics - Anfänger-Themen 6
G Fehlermeldung: A fatal error has been detected by the Java Runtime Environment Java Basics - Anfänger-Themen 7
pg1337 Methoden Runtime Exception Java Basics - Anfänger-Themen 13
P Vererbung Runtime.getRuntime().exec("blub"); Java Basics - Anfänger-Themen 11
F Runtime - Ausführung abwarten Java Basics - Anfänger-Themen 6
N Java 6 / J2SE Runtime deinstallieren Java Basics - Anfänger-Themen 11
J Window 7 Problem mit Runtime.getRuntime().exec("explorer") Java Basics - Anfänger-Themen 4
A JAR2EXE -> Java Runtime Environment not found Java Basics - Anfänger-Themen 4
D Runtime.getRuntime().exec(command); Java Basics - Anfänger-Themen 5
P Probleme mit Runtime.exec und Leerzeichen Java Basics - Anfänger-Themen 15
S Mit Runtime.exec() ImageMagick aufrufen -> Problem Java Basics - Anfänger-Themen 5
X Runtime.getRuntime().exec() Problem(inkonsistenter sch****) Java Basics - Anfänger-Themen 2
D Runtime.exec cygwin1.dll Java Basics - Anfänger-Themen 4
G Runtime.getRuntime().exec(command) für Mac OS! Java Basics - Anfänger-Themen 7
B Externe .exe-Dateien starten +Runtime Java Basics - Anfänger-Themen 6
G Runtime.getRuntime().exec und Exception? Java Basics - Anfänger-Themen 3
G Mittels Runtime prüfen ob ein Programm läuft? Java Basics - Anfänger-Themen 18
I Runtime.exec mit Adminrechten Java Basics - Anfänger-Themen 2
T Seltsame Runtime-Fehlermeldung Java Basics - Anfänger-Themen 4
Z kleine frage zu: Runtime.getRuntime().exec("cmd /c) Java Basics - Anfänger-Themen 3
O Aktuelles Verzeichnis Runtime.getRuntime().exec Java Basics - Anfänger-Themen 6
M Runtime exec mit Ordner angabe Java Basics - Anfänger-Themen 7
B Unklarheit bei Applets und Runtime Java Basics - Anfänger-Themen 5
P custom EventDispatcher fehlermeldung in der runtime bei invo Java Basics - Anfänger-Themen 27
D Runtime Prozeß hängt sich auf. in der Kommandozeile gehts Java Basics - Anfänger-Themen 5
O Java Runtime Java Basics - Anfänger-Themen 2
T Process pro =Runtime.getRuntime.exec("wine /Datei Pfad/ Java Basics - Anfänger-Themen 8
padde479 Runtime.getRuntime.exec() Leerzeichen unterdrücken Java Basics - Anfänger-Themen 2

Ähnliche Java Themen

Neue Themen


Oben