Runtime.getRuntime().exec

zoulgami

Grünschnabel
Hallo ,
ich habe ein kleine Problem beim Aufruf von Runtime.getRuntime().exec() .
wenn ich diese Line Command in DOS eingebe : C:\Program Files\IXOS\bin\dsClient <client.cmd > bh.log. es funktioniert wunderbar und erstellet mir die Datei bh.log.
aber wenn ich das mit Runtime.getRuntime().exec() aufrufe , funktioniert überhaupt nicht.
code sieht so aus : Process p = Runtime.getRuntime().exec(
"C:\\Program Files\\IXOS\\bin\\dsClient <client.cmd >bh.log" );
mache ich vielleicht was falsches

kann jemand mir vielleicht weiterhelfen ? ich bin sehr dankbar für jedes hinweis.

Danke im Vorraus
 
Hi ,
ich danke dir für deine Schnelle Antwort , also C:\\Program Files\\IXOS\\bin\\dsClient <client.cmd > bh.log mit client.cmd eine Datei wo connection zu Server steht. mit < wird als eingabe umleitung zu dsClient und mit > eine ausgabe umleitung zu bh.log.

Danke für Deine Hilfe.
 
Hi.

Die Umleitungen müssen vom Kommandozeileninterpreter interpretiert werden.

Probier's mal so:
Code:
cmd /s /c ""C:\\Program Files\\IXOS\\bin\\dsClient" <client.cmd >bh.log"
Gruß
 
Hi ,
Danke für die antwort , aber leider bekomme ich immer die gleiche Fehlermeldung dass die Datei bh.log nicht gefunden wurde bzw nicht erstellet wurde .

Gruß,
Adil
 
hi Sven ,
mein Code sieht aus :




try {


Process p = Runtime.getRuntime().exec("cmd /s /c C:\\Program Files\\IXOS\\bin\\dsClient" <client.cmd >bh.log");



} catch (Exception e) {
System.err.println("ls error " +e);
}
 
Zuletzt bearbeitet:
Bitte verwende die Code-Tags für Codeschnipsel. Das erhöht die Chance das sich jemand mit deinem Problem befasst ungemein - niemand sieht sich gern unleserlichen Code an.

Außerdem hast du den Code überhaupt nicht verändert?! Ich habe doch bereits erklärt wo das Problem ist. Das dein Code nicht funktioniert ist ja klar.

Die genaue Ausgabe / Fehlermeldung ist meistens sehr hilfreich.

Gruß
 
Hi Sven ,
Ja es tut mir leid , unformatierte Code wird auch kein Lesen :-) .

doch habe ich genau geschrieben was du mir gepostet hast und zwar folgendes :

try {


Process p = Runtime.getRuntime().exec("cmd /s /c C:\\Program Files\\IXOS\\bin\\dsClient.exe <client.cmd >C:\\iuvatec\\archive.log");
} catch (Exception e) {
System.err.println("ls error " +e);
}

und die Fehlermeldung sieht so aus :



java.io.FileNotFoundException: C:\iuvatec\archive.log (The system cannot find the file specified)
at java.io.FileInputStream.open(Native Method)
at java.io.FileInputStream.<init>(FileInputStream.java:106)
at java.io.FileReader.<init>(FileReader.java:55)
at de.iuvatec.zoulgami.blanco.ReadFiles.readDocIdFile(ReadFiles.java:110)
at de.iuvatec.zoulgami.blanco.ReadFiles.main(ReadFiles.java:74)


Danke Sven
Gruß
Adil
 
Wer ist Sven?
Ja es tut mir leid , unformatierte Code wird auch kein Lesen :-) .
Dann verwende bitte die entsprechenden Code-Tags! [code=java]...[/code] für Java Code usw.
doch habe ich genau geschrieben was du mir gepostet hast
Nein, hast du nicht. Du hast die Anführungszeichen vergessen:
Java:
Process p = Runtime.getRuntime().exec("cmd /s /c \"\"C:\\Program Files\\IXOS\\bin\\dsClient.exe\" <client.cmd >C:\\iuvatec\\archive.log\"");
Gruß
 
Zurück