こんにちは私はEclipseで次のcmdコードを実行しようとしています:
"DIR \""+DEV_HOME+"\\src\"\\*.Java /b /s >> \""+DEV_HOME+"\\bin\\javaFiles.txt\""
明らかに、次のようになります。
DIR "D:\Thomas\Dokumente\Daten\workspace\WBRLight\src"\*.Java /b /s >> "D:\Thomas\Dokumente\Daten\workspace\WBRLight\bin\javaFiles.txt"
しかし、次のエラーメッセージが表示されます。
Java.io.IOException: Cannot run program "dir": CreateProcess error=2, Das System kann die angegebene Datei nicht finden
at Java.lang.ProcessBuilder.start(ProcessBuilder.Java:1041)
at Java.lang.Runtime.exec(Runtime.Java:617)
at Java.lang.Runtime.exec(Runtime.Java:450)
....
コマンドボックスのコードを使おうとすると、正常に動作します。私のコード:
public void run_cmdLine(String command) {
try {
Runtime rt = Runtime.getRuntime();
BufferedReader input = null;
Process pr = null;
pr = rt.exec(command);
input = new BufferedReader(new inputStreamReader(pr.getInputStream()));
String line = null;
while ((line = input.readLine()) != null) {
System.out.println(line);
}
int exitVal = pr.waitFor();
System.out.println("Exited with error code " + exitVal);
} catch (Exception e) {
System.out.println(e.toString());
e.printStackTrace();
}
}
追加 "cmd.exe /c"
コマンド文字列の先頭で、それでうまくいくはずです。
編集:/c
パラメータは、cmd
を終了させてJavaプロセスに戻します。これがないと、プロセスはハングします。