我有一个批处理文件,它启动了一个.jar文件,但是在它加载完.jar之后,它不会执行之后运行的其他命令。
下面是我的代码:
@echo off
title DWAD
color 0A
cls
:start
echo loading server...
java -Xms3G -Xmx20G -jar DWAD.jar nogui
echo "/say server will restart in 60 seconds"
TIMEOUT /T 30
echo /say server will restart in 30 seconds
TIMEOUT /T 10
echo /say server will restart in 10
TIMEOUT /T 1
echo /say 9
TIMEOUT /T 1
echo /say 8
TIMEOUT /T 1
echo /say 7
TIMEOUT /T 1
echo /say 6
TIMEOUT /T 1
echo /say 5
TIMEOUT /T 1
echo /say 4
TIMEOUT /T 1
echo /say 3
TIMEOUT /T 1
echo /say 2
TIMEOUT /T 1
echo /say 1
TIMEOUT /T 1
echo /say server restarting如何指示代码在.jar加载完成后运行下一个命令"echo“?
谢谢!
在java -Xms3G -Xmx20G -jar DWAD.jar nogui之前,我尝试过使用call命令,但没有成功
我也尝试过在java -Xms3G -Xmx20G -jar DWAD.jar nogui之后使用/wait命令,但没有成功
我期望的是批处理文件在加载.jar之后运行下一行代码,但结果是它没有运行。
发布于 2019-08-02 03:13:42
OP想要编写一个Minecraft服务器的脚本
我找到了我以前用来做这个的插件,它位于这里:
这应该允许他将文本和命令传递给服务器中的用户,同时也可以在操作系统上执行功能,使他能够像他希望的那样自动关闭服务器。
仔细检查,再次看起来就像我8年前使用的那个,当时我有一段时间的服务器,正如插件作者所说:
·单个命令用法: MinecraftClient.exe用户名密码服务器"/mycommand“
这将自动向服务器发送"/mycommand“,然后客户端将自动离开服务器并关闭。
适用于批处理命令发送脚本。
这会将您的脚本更改为如下所示:
@(
SETLOCAL
ECHO OFF
SET "_UN=ServerUserName"
SET "_PW=ServerPassword"
SET "_IP=ServerIP"
title MinecraftClient
color 0A
cls
)
CALL :Main
(
ENDLOCAL
Exit /B 0
)
:Main
ECHO.
ECHO. Begining Script:
REM Letting the Users Know about the Count Down
FOR /L %%L IN (60,-1,1) DO (
MinecraftClient.exe %_UN% %_PW% %_IP% "/say WARNING: Server will Restart in %%L Seconds!"
Timeout 1
)
ECHO.
ECHO. Sending Final Notice and Shutting down the Server!
MinecraftClient.exe %_UN% %_PW% %_IP% "/say !!! WARNING: Server GOING DOWN FOR RESTART NOW !!!"
REM Not sure what the Restart command is offhand.
MinecraftClient.exe %_UN% %_PW% %_IP% "/Restart Command"
GOTO :EOFhttps://stackoverflow.com/questions/57314502
复制相似问题