Я пытаюсь создать переносимый пакетный файл для моего сервера Minecraft и хочу добавить к нему некоторые функции.
Однако, когда я выбираю опцию для копирования-вставки из папки BuildTools
*От 1004 * до server directory
указанного файла и вызовите метку create the server batch script
, вместо выхода из текущей метки, которая создает скрипт, и возврата к метке :server_menu
, он просто завершается.
Я пытаюсь сделать код из пакета для переносимости для любого пользователя Windows *, это означает, что мне нравится использовать встроенные инструменты, такие как cmd.exe
, powershell.exe [version 1.0 or up]
, vbscript
или любой инструментиз окон.
В качестве зависимостей у меня есть Java Jdk 8
& Git
& BuildTools
Следующий пакетный код является всего лишь римейком моего реального кода:
@echo off
setlocal enabledelayedExpansion
set mcserver_root=%~d0
set mcserver_dir=%mcserver_root%%~p0
set mcserver_dir=!mcserver_dir:~0,-1!
set vanilla_srv=%vanilla_path%\*server*.jar
:server_menu
CLS
ECHO:-----------------------------------------
ECHO: Don't worry if you don't have a server
ECHO: minecraft server yet!
ECHO: Select an option from [1] to [6] :
ECHO:
ECHO: [1] Update to Vanilla
ECHO: [2] Update to CraftBukkit
ECHO: [3] Update to Spigot
ECHO: [4] Update to Custom
ECHO: [5] Run Server BackUp
ECHO: [6] Return
ECHO:
ECHO:-----------------------------------------
set s_choice=
set /p s_choice= Enter your option ^>
if not '%s_choice%'=='' set s_choice=%s_choice:~0,1%
if '%s_choice%'=='1' goto :vanilla
if '%s_choice%'=='2' goto :cbukkit
if '%s_choice%'=='3' goto :spigot
if '%s_choice%'=='4' goto :modded
if '%s_choice%'=='5' goto :backup
if '%s_choice%'=='6' goto :return
ECHO:"%s_choice%"
goto :server_menu
:vanilla
IF NOT EXIST "%mcserver_dir%\*server*.jar" (
copy %vanilla_srv% %mcserver_dir%
call :minecraft_server_script>Run_Vanilla.bat [HERE IS THE PROBLEM]
exit /b [There is too!]
REM If file alerday exists in folder, replace it with a new fresh copy
) ELSE IF EXIST "%mcserver_dir%\*server*.jar" (
copy %vanilla_srv% %mcserver_dir%
call :minecraft_server_script>Run_Vanilla.bat [HERE]
exit /b [and HERE]
)
for %%i in ("minecraft_server*.jar") do (set fname=%%i) & call :rename_vanilla
ren "%fname%" "%fname:~0,23%".jar
:minecraft_server_script [The code that it creates only after copyed complete the file]
echo:There is the server script. There it should output the display and return to the "server_menu"
:cbukkit
CLS
echo craftbukkit
pause
CLS
goto :server_menu
:spigot
CLS
echo spigot
pause
CLS
goto :server_menu
:modded
echo modded
pause
goto :server_menu
:backup
echo BackUp Server
pause
goto :server_menu
:return
goto :main_menu
Можно задать вопрос здесь: * Но моя проблема заключается в следующем: Как вернуться к :server_menu
после копирования файла и создания сценария без остановки пакетного файла?
Я использую Windows 7 Ultimatex64 как администратор