2011-05-27 194 views
0

我刚刚下载了MCP以查看Minecraft幕后的工作情况。从java运行批处理文件

内MCP有批处理文件一堆您用来做这样的事情:反编译,重新编译,startclient等

我想做什么就能做的是从一个基本的运行这些批处理文件java gui。

我很喜欢gui的一部分,但我还没有得到一个线索如何运行这些批处理文件。

这里是批处理文件中的一个的示例:

该文件在:

C:\ MCP \ startclient.bat

startclient包含以下内容:

@echo off 

:try_python 
set PYTHON=python 
%PYTHON% --version >NUL 2>NUL 
if errorlevel 1 goto try_python_mcp 
goto foundit 

:try_python_mcp 
set PYTHON=runtime\bin\python\python_mcp 
%PYTHON% --version >NUL 2>NUL 
if errorlevel 1 (
    echo Unable to locate python. 
    pause 
    exit /b 
) 

:foundit 
%PYTHON% runtime\startclient.py conf\mcp.cfg 
pause 

可以这样做吗?

+0

我很惊讶他们不提供x-plat'build.xml'或类似的东西。他们正在发展什么样的十年(/千年)? – 2011-05-27 22:30:37

回答

4

可以使用运行时轻松地运行从Java的批处理文件:

Process p = Runtime.getRuntime().exec("cmd /c start " + yourbatchFileName); 

你也可以抢我的过程中/ O,使用p.getOutputStream()p.getInputStream()

查看更多有关Process类here

而且我建议你看看this article以及。

+0

但是这将在JVM之外。 – 2011-05-27 22:14:19

+0

批处理文件不适用于java,但是对于(通常)Windows cmd,这是我知道的有关通过最大控制从java运行这些文件的唯一方法。 – MByD 2011-05-27 22:19:31

+0

呼吁将链接添加到Java World'gotchas'文章。任何试图使用“进程”的人都需要阅读,迟早。 – 2011-05-27 22:33:44