我有一个具有用户输入的批处理脚本:
set /p serverstart=Starter Path (or leave blank if unknown):
现在需要做的是,如果用户输入了什么(任何),它将转到一个特定的标签:
if %serverstart% == [anything] goto %serverstart%
:%serverstart%
java -Xmx1024M -Xms1024M -jar %serverstart%.jar nogui
但前提是用户输入了一些内容。如果用户将字段留空,则文件需要继续前进:
set /p serverstart=Starter Path (or leave blank if unknown):
:serverram
cls
set /p serverram=Server RAM:
[enter more code here]
因此,如果用户输入了一些内容,它会转到定义的用户标签,并启动%serverstart%.jar,但如果用户将字段留空,它将不执行任何操作并继续
set /p serverstart=Starter Path (or leave blank if unknown):
if %serverstart% == "" goto %serverstart%
goto serverram
:serverram
set /p serverram=Server RAM:
:%serverstart%
java -Xmx%serverram%M -Xms%serverram%M -jar %serverstart%.jar nogui
工作?
(如果你想要的话,这是到目前为止的完整代码)
@ECHO OFF
title MineServer Runner
cls
:servername
cls
if exist ServerFilesserverconfig.cmd goto startserver
set /p servername=Server Name:
echo set servername=%servername%>> ServerFilesserverconfig.cmd
call "ServerFilesserverconfig.cmd"
title MineServer (%servername%) Runner
set /p serverstart=Starter Path (or leave blank if unknown):
:serverram
cls
set /p serverram=Server RAM:
echo set serverram=%serverram%>> ServerFilesserverconfig.cmd
:startserver
cd ServerFiles
call "serverconfig.cmd"
java -Xmx%serverram%M -Xms%serverram%M -jar startersminecraft_server.jar nogui
if defined serverstart goto (wehaveinput) else (goto wedonthaveinput)
当然,您也可以使用if not defined serverstart...
。
记住-set
您的变量为空(set "var=") before
设置/p`否则它将与之前的任何值保持不变。
我会扭转局面:
if not "%serverstart%" == "" (
we have input-code
) ELSE (
we have NO input-code
)
已编辑。