Caruso_Nix
Mitglied
externe Datei ausführen - Ausgabe in Datei
Hi,
ich möchte eine externe Datei ausführen. Leider klappt das bei mir immer nur mit einem Einzeiler! Der command ist richtig zusammengesetzt. zb. bei Win2000
command = "cmd.exe /C ";
Wenn nun meine cmd-Datei nur ein "dir" enthält, klappt alles.
besteht die Datei aus:
echo dir
dir
bleibt der prozess bestehen. es folgt keine Ausgabe.
Wenn ich nun die Ausgabe der cmd-Datei in einer Datei abspeichern möchte, habe ich wieder ein Problem., wenn zb ein PAUSE enthalten ist. Kann man das umgehen? Solche Wörter ja von Betriebssystem zu Betriebssystem verschieden.
caruso
Hi,
ich möchte eine externe Datei ausführen. Leider klappt das bei mir immer nur mit einem Einzeiler! Der command ist richtig zusammengesetzt. zb. bei Win2000
command = "cmd.exe /C ";
Code:
Process p = Runtime.getRuntime().exec(command);
p.waitFor();
System.out.print("exitcode: "+p.exitValue()+"\n");
besteht die Datei aus:
echo dir
dir
bleibt der prozess bestehen. es folgt keine Ausgabe.
Wenn ich nun die Ausgabe der cmd-Datei in einer Datei abspeichern möchte, habe ich wieder ein Problem., wenn zb ein PAUSE enthalten ist. Kann man das umgehen? Solche Wörter ja von Betriebssystem zu Betriebssystem verschieden.
Code:
BufferedReader input = new BufferedReader
(new InputStreamReader(p.getInputStream()));
// ausgabe wird in line gespeichert.
while((line = input.readLine()) != null)
text = text + line + System.getProperty("line.separator");
//Ausgabe in eine Datei schreiben
RandomAccessFile file = new RandomAccessFile(fileName, "rw");
try
{
Writer out = new OutputStreamWriter(new FileOutputStream(file.getFD()), "UTF-8");
file.seek(file.length());
out.append(text + System.getProperty("line.separator"));
out.flush();
}
catch (Exception e) {System.err.println("Exception: " + e.getMessage());}
finally { file.close(); }
caruso
Zuletzt bearbeitet: