gpt4 book ai didi

java - 如何运行 .bat 文件以在运行 .jar 的第二个 .bat 文件中执行命令?

转载 作者:太空宇宙 更新时间:2023-11-04 13:25:18 37 4
gpt4 key购买 nike

嘿社区,我需要知道如何运行 .bat 文件以将文本字符串写入运行 .jar 的 .bat 文件以使用该命令。

用于运行其他批处理文件中的命令的批处理文件也将从 Windows 任务计划程序运行。

顺便说一句,这是针对 Minecraft 服务器的。无论如何,下面是用于运行批处理文件中的 .jar 的代码。命令语法只是“停止”

<小时/>

server.bat代码

java -Xmx1024M -Xms1024M -jar minecraft_server.jar nogui.
<小时/>

因此,从长远来看,我需要制作一个名为 stop.bat 的批处理文件,以便从 Windows 任务计划程序 运行。在 stop.bat 文件中,我需要该文件来执行 server.bat 文件中的命令,以便服务器停止,之后我可以运行 server.bat 再次启动服务器。

关于如何做到这一点有什么想法吗?下面是这一切应该如何工作的基本布局。

server-run.bat>>>“运行”>>>minecraft-server.jar

任务计划程序>>>“运行”>>> stop.bat

stop.bat >>> “执行命令” >>> server-run.bat

最佳答案

假设您的 server-run.bat 文件如下所示:

@echo off
:startserver
java -Xmx1024M -Xms1024M -jar minecraft_server.jar nogui.
:running

pause
REM or whatever you do normally to stop the server
:stopserver
java stop
REM or whatever the command to stop the server is
exit

为了使文件能够跳转到调用批处理文件定义的某个标记,您应该将其更改为:

@echo off
if "%*" NEQ "" goto %*
:startserver
java -Xmx1024M -Xms1024M -jar minecraft_server.jar nogui.
:running

pause
REM or whatever you do normally to stop the server
:stopserver
java stop
REM or whatever the command to stop the server is
exit

和 stop.bat 应该看起来大约像这样:

@echo off
start server-run.bat stopserver

请记住^ber,这只是直接从 stop.bat 运行服务器停止命令的另一种方法。如果这不起作用(因为它需要环境变量或其他东西),这种方法也会失败!

(这是因为您无法直接干扰正在运行的批处理文件或其变量,您只能同时运行它的副本)

如果您想干扰正在运行的批处理文件,最简单的方法是定期检查文件是否存在:

@echo off
:startserver
if exists stopfile.txt del stopfile.txt
java -Xmx1024M -Xms1024M -jar minecraft_server.jar nogui.
:running

if exists stopfile.txt goto stopserver
timeout /T 2
goto running


:stopserver
del stopfile.txt
java stop
REM or whatever the commabd to stop the server is
goto :EOF
exit

stop.bat 就是这样做的:

@echo off
echo.something >stopfile.txt
exit

这将导致 server-running.bat

-运行服务器

-每 2 秒检查一次是否出现 stopfile.txt

-如果确实如此,请停止服务器

(记住用java代码更改虚拟行,我不知道他们是否正确)

希望这最终能有所帮助

关于java - 如何运行 .bat 文件以在运行 .jar 的第二个 .bat 文件中执行命令?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32729631/

37 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com