无法打开使用另一个批处理文件打开的批处理打开的 Jar 文件

Cant open Jar file which is open using a batch which is opened using another batch file

我正在尝试打开一个批处理文件,该文件由另一个应该启动我的 jar 文件的批处理文件打开。

这是我用来打开 ServerStart.bat 以启动 jar 文件的批处理文件行。 (test.bat 位于我的桌面上。)

set runmc1="C:\Game Host\mc_ftb_monster-1.6.4\ServerStart.bat"

这是ServerStart.bat

java -Xms2048m -Xmx2048m -XX:PermSize=128m -jar FTBServer-1.6.4-965.jar nogui

然后我得到这个:http://i.imgur.com/MhV4xC7.jpg

我花了好几个小时 Google 所以我来这里问问大家。有人可以解释为什么这不起作用以及解决我遇到的这个问题的方法吗?

Test.bat:

:: Sets the text and background color of the CMD window
color 0a

::=================================================================::
:: Minecraft Server #1                                             ::
::                                                                 ::
:: Window and Log name, replace after =                            ::
set mc1=FTB 1.6.4                                                  
::                                                                 ::
:: Your start command, Replace after =                             ::
set runmc1="C:\Game Host\mc_ftb_monster-1.6.4\ServerStart.bat"     
::=================================================================::

::=======================::
::   End of variables    ::
::=======================::

:: This will keep the window clean and easy to read
@echo off 

:: Sets the title of the window
title Utility Launcher 1.0

:: This variable takes you back to the main screen
:begining

:: Clears the window incase there is anything there
cls

:: Prints to the window what we are doing

echo Server Utility Launcher 1.0 has been started!
echo.
echo *************************************************
echo To close this Utility Launcher, close this window
echo *************************************************

echo 1. Start FTB 1.6.4
echo.

set /p a=


IF %a%==1 echo Starting %mc1%
cd "C:\Game host\mc_ftb_monster-1.6.4\"
start %runmc1%
pause
goto begining

ServerStart.bat:

cd "C:\Game host\mc_ftb_monster-1.6.4"
java -Xms2048m -Xmx2048m -XX:PermSize=128m -jar "FTBServer-1.6.4-965.jar"   nogui
pause

您正在访问相对于您正在执行的文件夹的 jar 文件。

在您的 ServerStart.bat

中试试这个
java -Xms2048m -Xmx2048m -XX:PermSize=128m -jar "C:\Game Host\mc_ftb_monster-1.6.4\FTBServer-1.6.4-965.jar" nogui

因此,如果您执行 ServerStart,它将在 C:\users\username\desktop\FTBServer-1.6.4-965.jar 中查找 jar,但它不会在其中找到 dit.

为确保 Minecraft FTB 服务器不会在您的桌面上创建关卡文件,您必须在 java 命令之前添加以下行。

cd "C:\Game host\mc_ftb_monster-1.6.4"

所以总的来说,如果您希望将它限制在您的目录中,您的蝙蝠将是:

 cd "C:\Game host\mc_ftb_monster-1.6.4"
 java -Xms2048m -Xmx2048m -XX:PermSize=128m -jar "FTBServer-1.6.4-965.jar" nogui

编辑

尝试用这个替换你的最后一行:

IF %a%==1 echo Starting %mc1%
cd "C:\Game host\mc_ftb_monster-1.6.4\"
cmd /C %runmc1%
pause
goto begining

只需在批处理文件中取消 "nogui" 命令行