我跟着this neat tutorial并尝试编辑它以供我使用。
我遇到了一个小问题,创建了一个带有一个小菜单的小批处理文件,在选择了一个选项(例如RUN ARMA3DB)后,它会在批处理中调用:ARMA3DB脚本,这将启动运行文件的所需批处理文件称为A3DB-V2.bat(位于其他地方)。
ECHO OFF
CLS
:MENU
cls
ECHO.
ECHO ...............................................
ECHO.
ECHO 1 - RUN - ArmA 3 Server
ECHO 2 - RUN - ArmA 3 Database
ECHO 3 - RUN - Minecraft Server
ECHO 4 - RUN - Killing Floor Server
ECHO 5 - RUN - Insurgency Server
ECHO 6 - RUN - Starbound Server
ECHO 7 - EXIT
ECHO.
SET /P M=Type 1, 2, 3, 4, 5, 6, or 7 then press ENTER:
IF %M%==1 GOTO ARMA3SERVER
IF %M%==2 GOTO ARMA3DB
IF %M%==3 GOTO MINECRAFT
IF %M%==4 GOTO KILLINGFLOOR2
IF %M%==5 GOTO INSURGENCY
IF %M%==6 GOTO STARBOUND
IF %M%==7 GOTO EOF
:ARMA3SERVER
cd "C:\Program Files (x86)\Steam\steamapps\common\Arma 3\"
start A3-V2.bat
GOTO MENU
:ARMA3DB
cd "C:\Program Files (x86)\Steam\steamapps\common\Arma 3\DB\"
start A3DB-V2.bat
GOTO MENU
:MINECRAFT
cd "C:\Users\USERNAME\AppData\Local\McMyAdmin\"
start McMyAdmin-V2.bat
GOTO MENU
:KILLINGFLOOR2
cd "C:\Program Files\Steam\steamapps\common\killingfloor2\"
start KF2ServerReunion-V2.bat
GOTO MENU
:INSURGENCY
cd "C:\Program Files (x86)\Steam\steamapps\common\Insurgency Dedicated Server\"
start Insurgency-V2.bat
GOTO MENU
:STARBOUND
cd "C:\Program Files (x86)\Steam\steamapps\common\Starbound\win64\"
start starbound_server-v2.bat
GOTO MENU
这是在A3DB-V2.bat:
START /min redis-server.exe redis.conf
问题是我打电话给选项" 2"对于ARMA3DB,所需的批处理文件(A3DB-V2.bat)打开程序的本机控制台" redist-server.exe"但它也会打开一个全新的cmd标签:
C:\Program Files (x86)\Steam\steamapps\common\Arma 3\DB\START /min redist-server.exe redist.conf
C:\Program Files (x86)\Steam\steamapps\common\Arma 3\DB>
我尝试通过在菜单批处理脚本中的START命令之后添加/ B(不打开新的cmd选项卡)来解决它:
:ARMA3DB
cd "C:\Program Files (x86)\Steam\steamapps\common\Arma 3\DB\"
start /B A3DB-V2.cmd
GOTO MENU
但是出现了一个新问题,现在它显示的内容与菜单所在的选项卡相同。所以:
Type 1, 2, 3, 4, 5, 6, or 7 then press ENTER:
C:\Program Files (x86)\Steam\steamapps\common\Arma 3\DB\START /min redist-server.exe redist.conf
C:\Program Files (x86)\Steam\steamapps\common\Arma 3\DB>
所以我无法输入任何其他值,它似乎忽略了GOTO MENU,而是继续作为cmd.exe的新实例在它启动新批处理文件的文件夹中。
有没有人想知道一个简单的解决方案,所以我可以打开menu.bat文件,选择一个选项,按回车键,可以运行所需的批处理文件(最小化),我可以立即选择之后来自同一菜单文件的另一个选项?
//当然,剧本并不完全完整,我遇到了这个问题。
感谢所有最终的回复。
答案 0 :(得分:0)
使用<meta property="og:site_name" content="Microsoft">
<meta property="og:title" content="ASP.NET | Open-source web framework for .NET">
<meta name="twitter:image" content="https://dotnet.microsoft.com/images/redesign/social/large.png">
<meta property="og:description" content="ASP.NET is a free web framework for building great Web sites and Web applications using HTML, CSS and JavaScript." />
命令调用其他批处理文件。例如,更改此代码:
CALL
对此:
:ARMA3SERVER
cd "C:\Program Files (x86)\Steam\steamapps\common\Arma 3\"
start A3-V2.bat
GOTO MENU
然后将:ARMA3SERVER
cd "C:\Program Files (x86)\Steam\steamapps\common\Arma 3\"
call A3-V2.bat
GOTO MENU
添加到每个被调用的批处理文件中,如下所示:@
,以便在@START /min redis-server.exe redis.conf
设置为关闭的情况下运行。