首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >目录:无法运行程序“java.io.IOException”:CreateProcess error=2,Das系统

目录:无法运行程序“java.io.IOException”:CreateProcess error=2,Das系统
EN

Stack Overflow用户
提问于 2014-01-22 19:14:42
回答 1查看 20.7K关注 0票数 12

你好,我试着在eclipse中运行下面的cmd代码:

代码语言:javascript
复制
 "DIR \""+DEV_HOME+"\\src\"\\*.java /b /s >> \""+DEV_HOME+"\\bin\\javaFiles.txt\""

在clear中,它看起来像这样:

代码语言:javascript
复制
DIR "D:\Thomas\Dokumente\Daten\workspace\WBRLight\src"\*.java /b /s >> "D:\Thomas\Dokumente\Daten\workspace\WBRLight\bin\javaFiles.txt"

但我得到以下错误消息:

代码语言:javascript
复制
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)
....

当我尝试使用cmd框中的代码时,它工作得很好。我的代码:

代码语言:javascript
复制
    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();
    }
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-01-22 19:23:42

在命令字符串的开头添加"cmd.exe /c",这应该可以解决问题。

/c参数将完成cmd并将其返回给Java进程。

如果没有它,进程将挂起。

票数 17
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21281354

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档