最近我创建了一个小型BATCH游戏。CMD命令的MS-DOS等价物?
事情是,因为我使用Windows的CMD BATCH语言,游戏将无法在DOS或DOSbox中正常运行。
开场很好,但是一旦我到达第一个玩家输入部分,我会得到一个“错误的语法”错误。
有谁知道Windows CMD命令的MS-DOS等价物?
例如,在基于CMD的BATCH文件中,我将使用“set ...”来设置输入。 DOS版本的“set ...”是什么?
:start
cls
echo GUESSING GAME
echo.
echo Created By: John Ingram
echo Copyright 2015
echo.
pause
goto :begin
:begin
cls
echo Please enter the number of your desired difficulty setting.
echo.
echo 1) Easy: Guess a number from 1-10
echo 2) Normal: Guess a number from 1-100
echo 3) Hard: Guess a number from 1-1000
echo.
echo Type "Quit" to exit the game.
echo.
echo Have Fun!
set /p choice=Enter:
if %choice%==1 (
goto :difficulty1
)
if %choice%==2 (
goto :difficulty2
)
if %choice%==3 (
goto difficulty3
)
if %choice%==quit (
goto :endgame
)
if %choice%==Quit (
goto :endgame
)
if %choice% GTR 3 (
echo.
echo I do not understand that command.
echo.
pause
goto :begin
)
pause
一旦玩家在游戏开始后按下一个键并被带到第一个输入部分(:begin),麻烦就开始了。
这与DOS/DOSbox无法将“/ p”注册为SET命令有什么关系吗?
如果是这样,什么是DOS等效?
你应该放一些代码示例 –
[dosbox](http://www.dosbox.com/wiki/Commands)的命令与MS-DOS相比是非常有限的,所以你可能需要cal cmd无论如何.exe。 – npocmaka
和'cmd.exe'是'ms-dos'的超集[ – npocmaka