Systemaufruf

Status
Nicht offen für weitere Antworten.
G

Gast

Gast
Hallo

ich versuche einen Systemaufruf zu machen mit
Code:
Runtime rt = Runtime.getRuntime();
Process p = rt.exec(copy E:\test.txt E:\test2.txt);

und bekomme eine Fehlermeldung "native method"
weiss jemand was das bedeutet?
macht man einen Systemaufruf vielleicht anders?
unter dos funktioniert auf jeden fall mein copy befehl so
 

rik0

Mitglied
versuch's mal mit Anführungszeichen.

Also:
Code:
Process p = rt.exec("copy E:\\test.txt E:\\test2.txt");
 

moormaster

Top Contributor
rik0 hat gesagt.:
versuch's mal mit Anführungszeichen.

Also:
Code:
Process p = rt.exec("copy E:\\test.txt E:\\test2.txt");

Dass man damit nur Prozesse anlegen kann, scheint hier wohl keinen zu interessieren... Copy ist kein Programm, von welchem man einen Prozess anlegen kann. Copy ist nur ein Befehl, welcher nur vom Kommandozeileninterpreter verstanden wird, also muss man den Befehl auch an diesen weiterreichen:

cmd /C copy E:\test.txt E:\test2.txt

also

Code:
   Runtime rt = Runtime.getRuntime();
   Process p = rt.exec("cmd /C copy E:\\test.txt E:\\test2.txt");
 

rik0

Mitglied
achso!

Ich hätte sonst erst ne batch-datei erstellt und die dann per exec aufgerufen.

Und wofür steht das "/C" ?


edit: command? :)
 

rik0

Mitglied
hey das is ja nützlich !

Ich hab sonst halt immer ne Batch-Datei benutzt. Da bleibt die Konsole auch nicht auf.
 
Status
Nicht offen für weitere Antworten.

Neue Themen


Oben