所以我做了一個批處理文件編輯與幾個選項,我試圖編輯它,以便如果一個不在文件中的數字被選中它將返回一個錯誤。批處理文件「如果不是」錯誤
但是,當我運行它,它做我想做的事情,但任何高於選項2將返回錯誤回聲。
@echo off
title Multi-Game Launcher
set ARMA3_PATH=C:\Program Files\Steam\SteamApps\common\Arma 3
set ARMA2_PATH=E:\Games\Retail Games\Bohemia Interactive\ArmA 2
set ARMA2OA_PATH=E:\Games\Retail Games\Bohemia Interactive\ArmA 2
set TAKEONH_PATH=E:\Games\Retail Games\Bohemia Interactive\Take On Helicopters
:home
cls
echo.
echo Select a version:
echo =================
echo.
echo Which version would you like to run?
echo 1 - ArmA 2 ACE/ACRE
echo 2 - ArmA 2 DayZ
echo 3 - ArmA 2 I44
echo 4 - ArmA 3 AIA
echo 5 - ArmA 2 DayZ Chernarus Server
echo 6 - Exit
set /p version=Pick Version:
if %version%==1 (
set CUSTOM_MODS=expansion\beta;expansion\beta\expansion;
set DEFAULT_PARAMETERS=
cd /D "%ARMA2OA_PATH%"
start expansion\beta\arma2oa.exe %DEFAULT_PARAMETERS% "-mod=%CUSTOM_MODS%"
)
if %version%==2 (
set CUSTOM_MODS=expansion\beta;expansion\beta\expansion;@DayZ;BAF;PMC;ACR
set DEFAULT_PARAMETERS=-noSplash -noFilePatching -winxp
cd /D "%ARMA2OA_PATH%"
start expansion\beta\arma2oa.exe %DEFAULT_PARAMETERS% "-mod=%CUSTOM_MODS%"
)
if %version%==3 (
set CUSTOM_MODS=expansion\beta;expansion\beta\expansion;@I44;BAF;PMC;ACR
set DEFAULT_PARAMETERS=-noSplash -noFilePatching -winxp
cd /D "%ARMA2OA_PATH%"
start expansion\beta\arma2oa.exe %DEFAULT_PARAMETERS% "-mod=%CUSTOM_MODS%"
)
if %version%==4 (
set [email protected]_A3;@vts_weaponresting;@cal68
set DEFAULT_PARAMETERS=
cd /D "%ARMA3_PATH%"
start arma3.exe %DEFAULT_PARAMETERS% "-mod=%CUSTOM_MODS%;@AllInArma\ProductDummies;%ARMA2_PATH%;%ARMA2OA_PATH%;%ARMA2OA_PATH%\Expansion;%TAKEONH_PATH%;@A1A2ObjectMerge;%ARMA3_PATH%;@AllInArma\Core;@AllInArma\PostA3"
)
if %version%==5 (
set CUSTOM_MODS=expansion\beta;expansion\beta\expansion;@DayZ;@reality_1.chernarus
set DEFAULT_PARAMETERS= -BEPath=%INFO_PATH%\BattlEye -config=%INFO_PATH%\config.cfg -Profiles=%INFO_PATH% -cfg=%INFO_PATH%\basic.cfg
cd /D "%ARMA2OA_PATH%"
start expansion\beta\arma2oaserver.exe %DEFAULT_PARAMETERS% "-mod=%CUSTOM_MODS%"
)
if %version%==6 (
exit
)
if not "%version%"=="" (
echo Invalid Selection
pause
goto home
)
它看起來像錯誤輸出將被打印*除*之外的任何*輸入。它真的只顯示大於2嗎? – Jon
你是對的,它只適用於6.錯誤顯示給其他人。我該如何做到這一點(沒有複製+粘貼每個選項下的最後一行,從而使代碼看起來很亂),以便錯誤返回任何不在選項中的數字。我使用了可以工作的「gtr」函數,但我更喜歡它動態地獲取數字,而不是自己設置它們。 –