尝试在后台运行时未执行批处理文件

时间:2015-07-26 06:58:53

标签: java windows batch-file cmd

我试图从java类执行一些批处理文件。我希望批量运行而不打开cmd窗口,我想等到它完成。

使用下面的命令(没有背景) - 它完美地运作:

String executeCmd = "cmd /c start /wait " +config.getJarPath()+ " --context_param Path=" +folderName;
        final Process process = run.exec(executeCmd);
        process.waitFor();

但是当我添加/ b(在后台运行)时,批处理文件没有运行:

String executeCmd = "cmd /c start /B /wait " +config.getJarPath()+ " --context_param Path=" +folderName;
        final Process process = run.exec(executeCmd);
        process.waitFor();

你知道它能是什么吗?

非常感谢

2 个答案:

答案 0 :(得分:0)

使用start /b命令标记只需在当前窗口中启动该程序即可。

B           Start application without creating a new window. 

如果要将批处理文件作为隐藏进程启动,可以使用简单的vb script来执行此操作。

或者您可以使用Batch-To-Exe converter并在转换时指定您希望exe为Ghost应用程序

答案 1 :(得分:0)

使用/B/wait一起使用。

E.g。 cmd /c start /B /wait yourbatfile.bat