我的 .bat 無法正確執行,如果有任何錯誤,請報告
檔案名 - games.bat
@echo off
G:
:start
cls
echo DOS Games
echo 1. DOOMS
echo 2. Prince of Persia
set /p choice=Your Choice is
pause
if %choice% == 1 goto 1
if %choice% == 2 goto 2
if %choice% == %choice% goto start
:1
cd PRINCE~1
PRINCE.EXE
exit
:2
cd DOOMS
DOOM.EXE
exit
我只想通過選擇號碼來運行游戲
我在 DOSBOX 中運行 .bat,它可能與 windows bat 語法不兼容
我也可以接受任何其他建議
我已經為許多游戲一次又一次地撰寫新的組態檔和 shell 腳本,所以我決定撰寫一個可以在 DOSBOX 上運行并一個一個加載游戲的 .bat 代碼
uj5u.com熱心網友回復:
選擇命令可用于 dosbox 并且可能是實作您想要的唯一方法:
mount G .
G:
:start
rem --- descriptions ---
choice /c12 /s Your Choice is [1-2]: /n
if errorlevel 2 goto two
if errorlevel 1 goto one
goto start
:one
cd PRINCE~1
PRINCE.EXE
exit
:two
cd DOOMS
DOOM.EXE
exit
您可以檢查所選選項,if errorlevel但請注意錯誤級別的作業方式equal or bigger than..,您應該首先從較大的數字開始。您只能使用IF ERRORLEVELas %ERRORLEVEL%variable is not access 來檢查結果,并且您不能使用 dosbox 下的三字母比較運算子。
我注意到的另一件事是沒有設備映射。要訪問 dosbox 下的檔案,您需要先將某個目錄掛載為驅動器。在這里,我將 G: 掛載為當前目錄。(或者它可能掛載在 conf 檔案中?)
uj5u.com熱心網友回復:
我的一些調整:
@echo off
:start
G:
cls
echo .::::: .:::: .:: ::
echo .:: .:: .:: .:: .:: .::
echo .:: .:: .:: .:: .::
echo .:: .:: .:: .:: .::
echo .:: .:: .:: .:: .::
echo .:: .:: .:: .:: .:: .::
echo .::::: .:::: .:: ::
echo.
echo.
echo .:::: .: .:: .:: .:::::::: .:: ::
echo .: .:: .: :: .: .:: .::: .:: .:: .::
echo .:: .: .:: .:: .:: . .:: .:: .::
echo .:: .:: .:: .:: .:: .:: .:::::: .::
echo .:: .:::: .:::::: .:: .:: .: .:: .:: .::
echo .:: .: .:: .:: .:: .:: .:: .:: .::
echo .::::: .:: .:: .:: .:: .:::::::: .:: ::
echo.
echo.
pause
cls
echo List of Games :
echo.
echo 1. Prince of Persia
echo 2. DOOMS
echo.
echo Select the Game [1-2]
choice /c12 /s "::" /n
cls
if errorlevel 2 goto two
if errorlevel 1 goto one
:one
cd PRINCE~1
PRINCE.EXE
:two
cd DOOMS
DOOM.EXE
rem --- without cd.. we cannot switch games bcz each time we enter the game folder ---
cd ..
goto start
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/442154.html
上一篇:通過讀取串列檔案列印檔案串列在檢查讀取路徑的實際存在時不起作用
下一篇:如何從提升命令繼承Batch環境的Batch內部執行Powershell的“start-process-VerbRunAs”?
