批处理文件可以给jar文件命令吗?

时间:2015-11-04 20:47:14

标签: java batch-file jar

第一个问题,善待,我在12小时前开始阅读批处理文件。

我正在尝试编写一个批处理文件,每30分钟将一个命令传递给一个java jar文件。

我确信这必须是可能的,但我对蝙蝠文件的小经验并没有削减它。

这是我到目前为止所写的内容

@echo off
title Test Program

set /a count=0
start /B java -Xms2G -Xmx2G -jar minecraft_server.1.8.8.jar nogui
timeout /t 15 >nul
goto loop


:loop
set /a mark=30*count
set /a count=count+1
echo say Episode %count% Minute Mark %mark%
timeout /t 5  >nul

goto loop

为了比较,下面的批处理文件将启动并运行jar文件,如果我在命令提示符下键入命令,则jar文件会响应它们。

title run-minecraft
java -Xms2G -Xmx2G -jar minecraft_server.1.8.8.jar
pause

例如,如果我在执行时在第二个程序中键入“say hi”,则jar文件执行“say”命令,并且“hi”出现在游戏中。第一个程序在命令提示符中每五秒输出一次“说Episode ...”(我不想在测试期间等待半小时),但是没有执行say命令和所需的消息“Episode#Minute Mark# #“未显示在游戏中。

我认为问题在于我没有告诉命令提示符执行批处理文件写入的代码,但我不确定如何自动执行此操作。

很抱歉,如果这令人困惑,因为我没有使用正确的条款,但我不是程序员,也不知道更好。

1 个答案:

答案 0 :(得分:0)

在您的简短批处理文件中,解决方案有效,因为Java命令在另一个命令行中打开,其中I / O插入Java应用程序中。
在新批处理中,使用start / b可以在没有命令行的情况下打开Java应用程序,因此没有I / O. 我不是很精通批量回答你的问题,但你需要的是找到如何重定向命令I / O,即控制输入(可能输出,但它无关紧要)这里是Java命令。

看起来this是一个好的开始。