CMD Befehl + Variable im Java-Code ausführen

chewee

Mitglied
Bitte entschuldigt falls ich in der falschen Sektion bin... das liegt aber daran das ich wirklich ein Anfänger bin.

Ich bin dabei mir ein kleines Programm zu schreiben. In diesem gebe ich eine Zahl ein und diese Zahl soll im Java Code als CMD Befehl ausgeführt werden.

Ich habe rausgefunden wie ich ein Befehl ausführen kann. Das klappt auch, aber nur wenn ich den ganzen Befehl im Code habe.

Hier mal ein Ausschnitt vom Code:

Java:
ProcessBuilder builder = new ProcessBuilder( "cmd", "/c","shutdown /r /t Variable");
						try {
							Process r = builder.start();
						}
						catch (IOException e) {
							e.printStackTrace();
						}


Wie im Code zu sehen ist der Befehl in den Anführungszeichen... Und ich kriege es einfach nicht hin das die Eingabe vom TextField da an den Befehl anzuhängen..

Falls ihr noch weiter Infos braucht einfach fragen.
 
Zuletzt bearbeitet:

VfL_Freak

Top Contributor
Moin,

Ja genau das hab ich versucht...
Aber ja das meine ich...
Wie hast Du es denn genau geschrieben?
So wie Gucky:
Java:
"dein Befehl" + textField.getText()
oder doch eher
Java:
"dein Befehl + textField.getText()"
???:L

Oder was genau ist jetzt dein Problem ???:L

Gruß
Klaus
 

Basti91

Mitglied
Bitte entschuldigt falls ich in der falschen Sektion bin... das liegt aber daran das ich wirklich ein Anfänger bin.

Ich bin dabei mir ein kleines Programm zu schreiben. In diesem gebe ich eine Zahl ein und diese Zahl soll im Java Code als CMD Befehl ausgeführt werden.

Ich habe rausgefunden wie ich ein Befehl ausführen kann. Das klappt auch, aber nur wenn ich den ganzen Befehl im Code habe.

Hier mal ein Ausschnitt vom Code:

Java:
ProcessBuilder builder = new ProcessBuilder( "cmd", "/c","shutdown /r /t Variable");
						try {
							Process r = builder.start();
						}
						catch (IOException e) {
							e.printStackTrace();
						}


Wie im Code zu sehen ist der Befehl in den Anführungszeichen... Und ich kriege es einfach nicht hin das die Eingabe vom TextField da an den Befehl anzuhängen..

Falls ihr noch weiter Infos braucht einfach fragen.

Ich glaube du verwendest den ProcessBuilder falsch. Ich habe mal in einer Unix-Umgebung damit gearbeitet und gerade ein paar Snippets ausgekramt. Ich vermute, du musst nicht spefisch angeben, dass du in der CMD-arbeiten willst. Ebensowenig übergibst du dem Konstruktor den Pfad in dem der Befehl ausgeführt werden soll. Das erste Argument des Konstruktors ist der Befehl, das zweite die Optionen und das dritte das Argument. Den Ausführungspfad gibst du mit der Methode
Code:
directory(File)
an.

Ein Codebeispiel:
Java:
ProcessBuilder builder = new ProcessBuilder("shutdown", "-r -t", deineVaraible); 		    
builder.directory( new File("C:") ); 
builder.start();
 

chewee

Mitglied
Ich glaube du verwendest den ProcessBuilder falsch...

Java:
ProcessBuilder builder = new ProcessBuilder("shutdown", "-r -t", deineVaraible); 		    
builder.directory( new File("C:") ); 
builder.start();

Ich habe mal den teil versucht ("shutdown", "-r -t", deineVaraible)
hat leider auch nicht funktioniert...
Ich versteh bei deinem Vorschlag das new File("C:") nicht?

Es soll ja die Zahl aus dem TextField, die vom User eingegeben wird, an den Befehl angehangen werden.
 
Zuletzt bearbeitet:

Sen-Mithrarin

Gesperrter Benutzer
mal ganz davon abgesehen das man java zu so einem SCHE!ß nicht missbraucht ... und das man unter windows in der regel "/" statt "-" als marker für eine option nutzt ... bin ich EXTREM davon begeistert wie hier versucht wird rum zu basteln und wie sehr sich alle mit übergabeparametern auskennen ...


mal zur verdeutlichung : ein terminal ... egal ob ne BASH unter unix oder CMD unter windows ... haben das leerzeichen " " als trenner für einzelne parameter ... und quotes \" als gruppen-marker


daraus folgt

wenn das grund commando z.b.

shutdown /r /f /t 120

sein soll ... dann sind das genau 4 parameter die alle einzeln verarbeitet werden


ergo

new ProcessBuilder( "cmd", "/c","shutdown /r /t Variable");

wäre soweit richtig ... wenn man es richtig schreiben würde

new ProcessBuilder( "cmd", "/c", "shutdown /r /t "+variable);

damit callt man die anwendung ... in dem fall CMD.exe ... und übergibt 2 parameter :

/c
shutdown /r /t variable

CMD ist nun selbst dran den zweiten parameter nach leerzeichen zu splitten und weiter zu verarbeiten


weiter

@VfL
berechtigte nachfrage ...


nächster

new ProcessBuilder("shutdown", "-r -t", deineVaraible);

DAS kann doch schon gar nicht mehr richtig sein
1) wie gesagt : unter windows wird "/" genutzt ... nicht "-" ... höchstens bei von unix portierten programmen oder weil die programmierer langeweile hatten
2) auch du übergibst hier wieder zwei parameter ... die aber so völlig falsch sind

-r -t
variable

in diesem fall wird "-r -t" als EIN parameter übgeben ... was folgenden aufruf gleicht

shutdown "-r -t" time

und DAS kann shutdown nicht verarbeiten da es keinen parameter "-r -t" gibt ...


korreterweise sieht es WENN dann also so aus

new ProcessBuilder("shutdown", "/r", "/t", variable);

um halt 3 parameter zu übergeben ... nämlich

/r
/t
120

genau so wie sie shutdown auch erwartet




mal am beispiel java und main(String[])

was glaubt ihr wohl was in String[] stehen würde bei folgenden aufrufen

java App "1 2 3" 4
java App 1 "2 3" 4
java App 1 2 3 4

so .. und jetzt wendet das mal auf das allem zugrundeliegende C und dessen main()-funktion an ... dann erkennt man : es macht halt DOCH einen unterschied wie und vor allem wie viele parameter man übergibt ...

das hat nichts mit CMD zu tun ... sondern einfach damit wie parameter erwartet werden und übergeben werden müssen
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
X wie bekomme ich durch Eingabeaufforderung definierte double in einen Befehl, welcher 3 erwartete double braucht? Java Basics - Anfänger-Themen 3
J jar Befehl wird nicht erkannt Java Basics - Anfänger-Themen 7
Viktor A. Kaiser Ampelschaltung mit if-Befehl Java Basics - Anfänger-Themen 11
Fodoboo131 RegEx- Umwandlung von String in ausführbares Objekt/ Befehl Java Basics - Anfänger-Themen 9
Lion.King switch-Befehl Java Basics - Anfänger-Themen 6
sserio Math. Befehl wird rot markiert Java Basics - Anfänger-Themen 5
F Terminal Windows per Befehl schließen? Java Basics - Anfänger-Themen 9
Y Wie kann man überprüfen, ob bei einem Print Befehl tatsächlich etwas geprintet wurde? Java Basics - Anfänger-Themen 4
H Befehl wird nicht ausgeführt - System.out.println Java Basics - Anfänger-Themen 3
A Scanner Befehl Java Anfänger Java Basics - Anfänger-Themen 8
K Subklassen mit einzigem Befehl addieren Java Basics - Anfänger-Themen 6
F cmd Befehl ausführen Java Basics - Anfänger-Themen 4
S Datenbank Befehl nach Login Java Basics - Anfänger-Themen 5
D Input/Output Befehl aus Benutzereingabe herausfiltern Java Basics - Anfänger-Themen 12
T if else Befehl funktioniert nicht richtig Java Basics - Anfänger-Themen 27
N Javac -version der Befehl ist entweder falsch geschrieben oder...... Java Basics - Anfänger-Themen 8
O Methoden Runtime.getRuntime().exec(befehl); Java Basics - Anfänger-Themen 6
L Ist an diesem Befehl irgendwas falsch? Java Basics - Anfänger-Themen 2
F Wieso wird dieser Befehl nicht ausgeführt? (Anfänger) Java Basics - Anfänger-Themen 2
B Copy Paste Befehl Java Basics - Anfänger-Themen 6
O String: Befehl und Wert erkennen. Java Basics - Anfänger-Themen 4
D Erste Schritte Zuul - 2ten Befehl einführen Java Basics - Anfänger-Themen 68
D Erste Schritte Befehl back implementieren Java Basics - Anfänger-Themen 18
elischa unbekannter Befehl zur Compilezeit Java Basics - Anfänger-Themen 22
B Befehl um ein Befehl abzubrechen Java Basics - Anfänger-Themen 2
M Classpath Befehl zum Kompilieren um die Option classpath erweitern. Java Basics - Anfänger-Themen 5
F Konsolen Befehl ausführen und Rückgabe auswerten Java Basics - Anfänger-Themen 3
S Befehl current: Java Basics - Anfänger-Themen 3
Silvascus Void Methode einem Stringparameter im syso-Befehl hinzufügen Java Basics - Anfänger-Themen 3
slejden Erste Schritte der Befehl import Java Basics - Anfänger-Themen 2
C OOP array Sortieren ohne den sort Befehl Java Basics - Anfänger-Themen 10
J Problem WIE ohne Goto-Befehl lösbar? Java Basics - Anfänger-Themen 6
N Benötige eine Alternative für einen GOTO Befehl Java Basics - Anfänger-Themen 2
O CMD Befehl javac Java Basics - Anfänger-Themen 3
U Java Swing Timer mit ButtonKlick starten u. nach 12 Sekunden Befehl ausführen Java Basics - Anfänger-Themen 7
D Klassenmethode: Befehl erkennen, dann int zurückgeben Java Basics - Anfänger-Themen 2
C Desktopiconwechsel ohne Befehl Java Basics - Anfänger-Themen 0
V Schlüsselworte Befehl Ignorieren? Java Basics - Anfänger-Themen 10
B JDK installieren Befehl java funktioniert nicht Java Basics - Anfänger-Themen 15
J Variablen Auf der suche nach einem Befehl Java Basics - Anfänger-Themen 2
M Frage zum return; Befehl Java Basics - Anfänger-Themen 1
S Methoden auf befehl ausführen Java Basics - Anfänger-Themen 7
iB0T Eine Art Goto Befehl! Java Basics - Anfänger-Themen 27
H Exit Befehl in eigener Konsole Java Basics - Anfänger-Themen 9
D Erste Schritte bash-Befehl mit Swing ausführen Java Basics - Anfänger-Themen 8
A Schlüsselworte Befehl this Java Basics - Anfänger-Themen 8
E CMD Befehl über Java ausführen? Java Basics - Anfänger-Themen 4
E Warum wird Methode nicht durch return-Befehl beendet? Java Basics - Anfänger-Themen 3
D Hilfe zu Java Befehl In.open Java Basics - Anfänger-Themen 2
B Javadoc-Befehl unter Ubuntu Java Basics - Anfänger-Themen 2
I Befehl/Methode "los()" Java Basics - Anfänger-Themen 17
A Befehl gesucht....wie komme ich an Folgendes Objekt? Java Basics - Anfänger-Themen 6
I Return Befehl in Methode Java Basics - Anfänger-Themen 13
K Befehl per Shell an Java-Applet JAR übergeben Java Basics - Anfänger-Themen 16
S javac Befehl Java Basics - Anfänger-Themen 7
C Befehl zum Verlassen einer Schleife Java Basics - Anfänger-Themen 27
W Befehl ausführen bei Mausklick + gedrückte Strg-Taste Java Basics - Anfänger-Themen 2
B Befehl mit Priorität aufrufen Java Basics - Anfänger-Themen 4
I Befehl wird erst nach dem Ausführen einer Funktion ausgeführt Java Basics - Anfänger-Themen 4
K Problem mit h2 DB Insert Befehl Java Basics - Anfänger-Themen 6
B Befehl für vorselektierten Radiobutton Java Basics - Anfänger-Themen 2
H if-Befehl mit Buttongroup Java Basics - Anfänger-Themen 9
B assert befehl in netbeans Java Basics - Anfänger-Themen 3
M Objekto.Programm. Return-Befehl Java Basics - Anfänger-Themen 4
F Kann String in Befehl wandeln? Java Basics - Anfänger-Themen 12
F Simpler DrawLine - Befehl!? Java Basics - Anfänger-Themen 9
M Befehl zum Einlesen von Benutzereingaben Java Basics - Anfänger-Themen 1
M Befehl zum Fenster schließen? GUI Java Basics - Anfänger-Themen 3
L Do while Befehl verkürzen? Java Basics - Anfänger-Themen 16
-horn- Befehl an CMD übergeben Java Basics - Anfänger-Themen 15
A [Fehlermeldung]Sleep-Befehl Java Basics - Anfänger-Themen 4
B Befehl "javac" wird nicht erkannt Java Basics - Anfänger-Themen 14
S Befehl "javac" funktioniert und Windows 7 nicht? Java Basics - Anfänger-Themen 3
K Terminal Befehl mit Java unter Mac ausführen Java Basics - Anfänger-Themen 18
L Java Persistence API - Update Befehl? Java Basics - Anfänger-Themen 5
X Befehl import Java Basics - Anfänger-Themen 21
Antoras Explizite Typenumwandlung in einem Befehl Java Basics - Anfänger-Themen 3
A Button einen Befehl zuordnen Java Basics - Anfänger-Themen 7
N suche Datums befehl Java Basics - Anfänger-Themen 8
H Problem mit Tastatur Befehl Java Basics - Anfänger-Themen 11
J Kill befehl Java Basics - Anfänger-Themen 44
G java shell script starten und befehl übergeben Java Basics - Anfänger-Themen 3
Z Ant java -classpath befehl Java Basics - Anfänger-Themen 2
X JOptionPane.showMessageDialog(); - Import Befehl? Java Basics - Anfänger-Themen 4
K Befehl um am Anfang einer Methode zu kommen? Java Basics - Anfänger-Themen 9
G Befehl für Ende bei Switch-Auswahl Java Basics - Anfänger-Themen 11
K fehler mit der Befehl Console Java Basics - Anfänger-Themen 3
H Befehl mit Konstruktoren Java Basics - Anfänger-Themen 2
L Leider klappt bei mir ein Befehl nicht Java Basics - Anfänger-Themen 4
P Befehl zum einrücken der textausgabe? Java Basics - Anfänger-Themen 6
A Befehl ausführen beim Schließen der Konsole Java Basics - Anfänger-Themen 3
S Gibt es einen Befehl "Mausklick" o.ä? Java Basics - Anfänger-Themen 6
S Java-Programm ohne -jar Befehl? Java Basics - Anfänger-Themen 9
K Auf File- Befehl warten. Java Basics - Anfänger-Themen 10
T JDK installiert aber der Befehl "javac" funktionie Java Basics - Anfänger-Themen 5
B ItemListener - setText Befehl geht nicht Java Basics - Anfänger-Themen 3
I JNLP - Datenstrom auslesen, Werte berechnen, Befehl automati Java Basics - Anfänger-Themen 6
R auf button klick befehl ausführen Java Basics - Anfänger-Themen 11
G Jar Befehl wird von DOS nicht erkannt Java Basics - Anfänger-Themen 24
G Unix Befehl ps unter Java Java Basics - Anfänger-Themen 2

Ähnliche Java Themen

Neue Themen


Oben