MS-DOS-Befehle ausführen

Status
Nicht offen für weitere Antworten.

Reality

Top Contributor
Hi,
ich möchte ein kleines Netzwerktool basteln und ich habe mich ein bisschen informiert, wie man MS-DOS-Befehle über JAVA ausführen kann.
Hab da auch was gefunden:
Code:
import java.io.*;

public class StartKlasse {
  public static void main(String[] args) {
  try{
  Process proc = Runtime.getRuntime().exec("cmd /c dir");
  BufferedReader in=new BufferedReader(new InputStreamReader (proc.getInputStream()));
  while(in.readLine()!=null){
  System.out.println(in.readLine());
  }
  }catch(Exception e){
  e.printStackTrace();
  }
  }
}

Ist jetzt nicht das Original, aber es geht. Wenn ich jetzt statt /c dir z.B. ipconfig eingebe oder format a:, dann öffnet sich nur das DOS-Fenster und das war´s auch schon.

Weiss jemand, wo der Fehler liegt?

Liebe Grüße
Reality
 
R

Roar

Gast
lass das "cmd" weg und gib nur den befehl an also exec("format a;");
da dieser befehl direkt darauf zugreift ändert das nix. und be ider while schleife solltest du warten bis readLine -1 ist anstelle von null
 

Reality

Top Contributor
Hi,
dieser Code geht nicht:
Code:
  Process proc = Runtime.getRuntime().exec("format a:");
  BufferedReader in=new BufferedReader(new InputStreamReader (proc.getInputStream()));
  while(in.readLine()-1){
  System.out.println(in.readLine());
Wenn ich nur in Process proc = Runtime.getRuntime().exec("format a:"); verändere, kommt folgende Fehlermdeldung:
Code:
ava.io.IOException: CreateProcess: format a: error=2
	at java.lang.Win32Process.create(Native Method)
	at java.lang.Win32Process.<init>(Win32Process.java:66)
	at java.lang.Runtime.execInternal(Native Method)
	at java.lang.Runtime.exec(Runtime.java:551)
	at java.lang.Runtime.exec(Runtime.java:418)
	at java.lang.Runtime.exec(Runtime.java:361)
	at java.lang.Runtime.exec(Runtime.java:325)
	at StartKlasse.main(StartKlasse.java:6)

Wenn ich auch noch die While-Schleife verändere:
Code:
"StartKlasse.java": Fehler #: 375 : Operator - kann nicht auf (java.lang.String, int) angewandt werden in Zeile 8, Spalte 22

Liebe Grüße
Reality
 
R

Roar

Gast
*handvorkopfschlag*

while(in.readLine() != -1) vielleicht ?
und warum das nicht geht weiß ich nicht. liegt wohl an windoof

und hast du es schon mit "dir" ausprobiert?
 
R

Roar

Gast
also ich hab das z.b. so und es funktioniert:

Code:
// aus meinem programm
// command == "C:\\einprogramm.exe";
	     try {
	        Process p = Runtime.getRuntime().exec(command);
	        InputStream is = p.getInputStream();
	int c;
	while((c = is.read()) != -1) {
	// does nothing
// oder
System.out.print((char) c );
	}
	     }catch(Exception ex) { 
	     JOptionPane.showMessageDialog(this,"Could not start program "+command+"!\nProgram or shell command \"" +command+"\" not found.\nError caused by: "+ex.getMessage(),"Error", JOptionPane.ERROR_MESSAGE);
	     }

darum hatte ich auch -1 im kopf, sorry

edit: hmm komisch. Dos Kommandos gehen nicht, aber wenn command == "java -h"; dann funktioniert es.
 
B

bygones

Gast
Roar hat gesagt.:
*handvorkopfschlag*

while(in.readLine() != -1) vielleicht ?
und warum das nicht geht weiß ich nicht. liegt wohl an windoof

und hast du es schon mit "dir" ausprobiert?
Code:
readLine

public String readLine()
                throws IOException

    Read a line of text. A line is considered to be terminated by any one of a line feed ('\n'), a carriage return ('\r'), or a carriage return followed immediately by a linefeed.

Returns:
A String containing the contents of the line, not including any line-termination characters, or null if the end of the stream has been reached

Also nix mit -1 !!
 
R

Roar

Gast
grtml hab ich doch gesagt oben, weil ich in meinem code zeichenweise gelesen hab
 

Reality

Top Contributor
Hi,
dein Code funktioniert jetzt. Macht im Grunde genommen nichts anderes als mein alter Code.
Frage: Die Schleife macht es solange, bis int den Wert -1 erreicht hat. Wieso erreicht int überhaupt den Wert -1? ???:L

Liebe Grüße
Reality

PS: Ja, viele Konsolenbefehle gehen immernoch nicht.
 
R

Roar

Gast
hm komisch dasses nicht geht ???:L
die read() methode gibt einen integer zurück der den ascii wert darstellt. und wenn nix mehr da ist zum lesen gibt read() halt -1 zurück.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
L Linux Befehle unter Windows in Eclipse ausführen Java Basics - Anfänger-Themen 3
RowdyN Methoden Befehle in zufälliger Reihenfolge ausführen lassen Java Basics - Anfänger-Themen 5
D Input/Output Mehrere Befehle nacheinander ausführen Java Basics - Anfänger-Themen 20
N Mit Java Befehle auf Konsole ausführen Java Basics - Anfänger-Themen 4
F alle 100ms Befehle ausführen Java Basics - Anfänger-Themen 26
J Befehle aus anderen Klassen ausführen Java Basics - Anfänger-Themen 8
F Befehle von Java class ausführen Java Basics - Anfänger-Themen 3
RudiRüssel Befehle - Maschinenprogramme Java Basics - Anfänger-Themen 6
H Befehle in einem Menü aktivieren Java Basics - Anfänger-Themen 1
D import Befehle Java Basics - Anfänger-Themen 3
F Linux Befehle zum Übersetzen Java Basics - Anfänger-Themen 1
D Erste Schritte Weitere Befehle implementieren Java Basics - Anfänger-Themen 27
T befehle unterschiedlicher anzahl an strings wiedergeben Java Basics - Anfänger-Themen 2
L Text/Befehle zu Programmen senden Java Basics - Anfänger-Themen 1
C Java und "normale" Befehle Java Basics - Anfänger-Themen 3
M Input/Output Allg. Befehle an die cmd.exe senden Java Basics - Anfänger-Themen 9
S Befehle in ProcessBuilder nachschieben Java Basics - Anfänger-Themen 2
F Befehle wiederholen Java Basics - Anfänger-Themen 7
B Threads Geschwindigkeit der Befehle auf verschiedenen PCs gleich machen Java Basics - Anfänger-Themen 3
G Kombination zweier Befehle (Preis festlegen & Rabatt berechnen) Java Basics - Anfänger-Themen 3
D Input/Output Stringbuffer Befehle bei Konvertierung in String Java Basics - Anfänger-Themen 19
C Nach Java-Installation sind Befehle erfolglos Java Basics - Anfänger-Themen 4
J Unklare Befehle Java Basics - Anfänger-Themen 4
K .bat Dateien starten, Ausgabe einlesen und Befehle übergeben Java Basics - Anfänger-Themen 32
H Befehle an andere Programme Java Basics - Anfänger-Themen 8
M Befehle der Eingabeaufforderung Java Basics - Anfänger-Themen 2
S return(Bedingung) ? [mehrere Befehle] Java Basics - Anfänger-Themen 5
M Umgebungsvariable gesetzt, aber nicht alle Befehle ausführbar Java Basics - Anfänger-Themen 6
M TextWrangler/VIM- Manche Befehle werden nicht farblich hervorgehoben Java Basics - Anfänger-Themen 3
S Mehrere Return-Befehle in einer Methode Java Basics - Anfänger-Themen 23
G Eigene Klasse für externe Befehle - Warten auf Prozesse Java Basics - Anfänger-Themen 6
N 2 Befehle zu einem machen Java Basics - Anfänger-Themen 10
K Shell Befehle mit Java aufrufen Java Basics - Anfänger-Themen 5
G CMD Befehle übergeben Java Basics - Anfänger-Themen 2
J Java Konsolenprogramm Befehle(Optionen) übergeben Java Basics - Anfänger-Themen 7
Blackskyliner Befehle an einen Thread senden? Java Basics - Anfänger-Themen 2
K Wieviele Befehle pro .java Datei Java Basics - Anfänger-Themen 4
C Befehle finden / Befehle richtig suchen Java Basics - Anfänger-Themen 5
E Befehle Java Basics - Anfänger-Themen 3
D MS Dos Befehle mit java Java Basics - Anfänger-Themen 3
G Falsche Java befehle, doch was ist falsch? Java Basics - Anfänger-Themen 9
D Win98 erkennt keine java Befehle.Umgebungsvariablen falsch? Java Basics - Anfänger-Themen 7
B Alt-Befehle Java Basics - Anfänger-Themen 4
C System.exit(int) und andere ähnliche Befehle Java Basics - Anfänger-Themen 5
S Befehle an externe Programme Java Basics - Anfänger-Themen 4
L Dos Befehle via Java Java Basics - Anfänger-Themen 4
H .java Dateien in Eclipse einbinden und ausführen Java Basics - Anfänger-Themen 1
E Audio Datei unter Bedingungen ausführen Java Basics - Anfänger-Themen 19
H Nutzt Eclipse alle CPU-Threads beim Ausführen von Java-Programmen? Java Basics - Anfänger-Themen 4
C 2 SwingWorkers nacheinander ausführen Java Basics - Anfänger-Themen 1
B Wie kann ich folgende Klasse/Methode per Button ausführen? Java Basics - Anfänger-Themen 1
Zrebna Kann Java Programm nicht in Konsole ausführen Java Basics - Anfänger-Themen 1
Alex_99 Aktion ausführen wenn Frame disposed wurde Java Basics - Anfänger-Themen 5
mervanpolat Binary Search Algorithmus ausführen Java Basics - Anfänger-Themen 1
hebein Mit Javaprogramm webseiten automatisiert befüllen und ausführen Java Basics - Anfänger-Themen 6
Jose05 ausführen im cmd schlägt fehl Java Basics - Anfänger-Themen 2
N Eclipse Programm normal ausführen Java Basics - Anfänger-Themen 1
M Von einem Menü Methode aus anderer Klasse ausführen, die errechnete Werte in Datei schreibt. Java Basics - Anfänger-Themen 8
D Methoden nach einer bestimmten Reihenfolge ausführen. Java Basics - Anfänger-Themen 20
Z Mehtode bei Start des Programms ausführen (Klassen übergreifend) Java Basics - Anfänger-Themen 12
J B-Sprache mit Arrays ausführen Java Basics - Anfänger-Themen 18
C Programm ausführen ohne JRE? Java Basics - Anfänger-Themen 3
B Wie kann ich etwas vor der Main-Methode ausführen? Java Basics - Anfänger-Themen 21
T src Ordner ausführen Java Basics - Anfänger-Themen 9
A Fehler beim Ausführen einer class Datei Java Basics - Anfänger-Themen 6
M Compiler-Fehler Fehler beim Ausführen des Codes Java Basics - Anfänger-Themen 25
F cmd Befehl ausführen Java Basics - Anfänger-Themen 4
H Rekursiv Methode ausführen bei Kindern Java Basics - Anfänger-Themen 12
M Rot Schwarz Bäume, ausführen? Java Basics - Anfänger-Themen 6
CptK Methoden While-Schleife so lange ausführen, wie Methode etwas zurückgibt Java Basics - Anfänger-Themen 2
F Shell Script ausführen Java Basics - Anfänger-Themen 5
F Java auf Windows Konsole ausführen Java Basics - Anfänger-Themen 1
B UML Klassen Diagramm zu Java Code Programmieren und ausführen Java Basics - Anfänger-Themen 21
L Shell Script ausführen in Java Java Basics - Anfänger-Themen 4
K Programm ausführen Java Basics - Anfänger-Themen 2
K Durch eine Text eingabe etwas Ausführen Java Basics - Anfänger-Themen 5
CptK Methoden Event bei gedrückter Maustaste immer wieder ausführen Java Basics - Anfänger-Themen 1
CptK Klassen Event bei gedrückter Maus immer wieder mit Pause ausführen Java Basics - Anfänger-Themen 2
dapzoo Class File Version zu niedrig? Ausführen über Eingabeaufforderung nicht möglich Java Basics - Anfänger-Themen 14
alkaA Intellij Java Datei aus nicht Projekt ausführen? Java Basics - Anfänger-Themen 2
G sqlplus commands in java ausführen Java Basics - Anfänger-Themen 15
CptK Interface JTextField: Action mit Enter ausführen Java Basics - Anfänger-Themen 16
CptK Methoden Methode in MouseListner ausführen Java Basics - Anfänger-Themen 1
P jar file lässt sich nicht ausführen Java Basics - Anfänger-Themen 4
N Fehlermeldung beim ausführen des Programmes.. Java Basics - Anfänger-Themen 3
T Klassen 2 Klassen zeitgleich ausführen Java Basics - Anfänger-Themen 3
V Erste Schritte Anfänger: Ausführen eines Java-Programms Java Basics - Anfänger-Themen 5
B Java Eclipse Programm in einer Batch ausführen Java Basics - Anfänger-Themen 3
diqqerrr Java Datei als .exe ausführen Java Basics - Anfänger-Themen 8
I Erste Schritte Native code library failed to load beim Ausführen eines Beispiels Java Basics - Anfänger-Themen 5
Z Enter Taste alle 0,5 Sekunden ausführen Java Basics - Anfänger-Themen 1
H Script ausführen wenn Browser Notification eingetroffen ist? Java Basics - Anfänger-Themen 3
S Methoden Beim Start meines Projektes eine Methode ausführen Java Basics - Anfänger-Themen 14
V Methode eines Objekts einer ArrayList ausführen Java Basics - Anfänger-Themen 3
B Timer mehrere Male ausführen Java Basics - Anfänger-Themen 4
M Java Programm über Batch-Datei ausführen Java Basics - Anfänger-Themen 1
T Parallel ausführen Java Basics - Anfänger-Themen 1
F Konsolen Befehl ausführen und Rückgabe auswerten Java Basics - Anfänger-Themen 3
S .java Datei in java Datei ausführen Java Basics - Anfänger-Themen 9
X Schleife bis "Bedingung" ausführen Java Basics - Anfänger-Themen 13

Ähnliche Java Themen

Neue Themen


Oben