为什么Java运行我的批处理文件与双击它们时的方式不同?

时间:2016-04-13 21:38:08

标签: java windows batch-file cmd

当我双击批处理文件时,它可以正常工作。当我尝试通过Java运行批处理文件时,它不起作用。

由于它没有工作'我的意思是批处理文件确实运行,但它没有正确运行。它运行' sgminer.exe'使用--config。我可以看到配置部分有效,因为它显示了sgminer中的配置名称。

没有太多细节,错误是它并不认为GPU 0是一个openCL平台(它不是,但1,2,3,4,5是)。这在配置中指定忽略GPU 0.我包含此错误日志,但是如果我能够通过双击它来运行它,它应该具有与从cmd运行它相同的效果吗?我错过了什么?

以下是批处理文件的内容......

setx GPU_MAX_HEAP_SIZE 100
setx GPU_MAX_ALLOC_PERCENT 100
setx GPU_USE_SYNC_OBJECTS 1
C:\Users\miner\Desktop\LiteCoin\sgminer-5-1-0-optimized\sgminer.exe --config C:\Users\miner\Desktop\LiteCoin\sgminer-5-1-0-optimized\sgminer-fixed.conf

以下是我在java中运行批处理文件的方法:

Runtime runtime = Runtime.getRuntime();
    try {
     Process p1 = runtime.exec("cmd /c start C:\\Users\\miner\\Desktop\\LiteCoin\\sgminer-5-1-0-optimized\\runme.bat");
    } catch (IOException ioException) {
        System.out.println(ioException.getMessage());
    }

感谢您提供的任何帮助:)

编辑:在有人要求之前,我尝试从cmd运行它,并启动runme.bat',它可以运行。同样只有&runme.bat'。两者都有效。

0 个答案:

没有答案