我使用了该线程中最佳答案中提供的代码:Need auto-restart script in batch for minecraft server
但是,我不确定应该何时运行选择功能。
此外,我宁愿没有选择权。我希望服务器仅给出60秒的提示时间,它将重新启动,然后执行重新启动。
任何帮助将不胜感激!
这是上一个答案的代码:
@echo off
title minecraft-server-1.8.3
color 0A
prompt [server]:
cls
:start
echo loading server...
java -Xms3G -Xmx3G -jar minecraft_server.1.8.3.jar nogui
cls
:choice
set /P a=do you want to restart[Y/N]?
if /I "%a%" EQU "Y" goto :restart
if /I "%a%" EQU "N" goto :stop
goto :choice
:restart
cls
echo server will restart
TIMEOUT /T 5
cls
goto :start
:stop
cls
echo closing server
TIMEOUT /T 5
exit
答案 0 :(得分:0)
欢迎堆栈溢出。 正如@Mofi在评论中提到的那样,您可以使用TIMEOUT创建等待语句 您可能想要的脚本如下所示:
:start
echo loading server...
java -Xms3G -Xmx3G -jar minecraft_server.1.8.3.jar nogui
cls
REM I recommend NOT using TIMEOUT /T for the main wait, this way you can skip it and initiate a restart immediately
TIMEOUT 10720
REM 3 hours minus 60 seconds to allow for 60 second restart notification
cls
echo server will restart
TIMEOUT /T 60
cls
goto :start
(由于您似乎不太熟悉批量处理,因此REM用于注释行)
要回答有关:choice部分为何的问题: 它是在:start部分之后启动的,可让您(Y)重新启动或(N)停止服务器