Batch file CMD命令的MS-DOS等价物?

Batch file CMD命令的MS-DOS等价物?,batch-file,cmd,dos,Batch File,Cmd,Dos,最近我创建了一个小批量游戏 问题是,因为我使用的是Windows的CMD批处理语言,所以游戏无法在DOS或DOSbox中正常运行 开头很好,但一旦我进入第一个播放器输入部分,就会出现一个“糟糕的语法”错误 有人知道MS-DOS等同于Windows CMD命令吗 例如,在基于CMD的批处理文件中,我会使用“set…”来设置输入。DOS版本的“set…”是什么 一旦玩家在游戏开始后按下一个键,问题就开始了,并被带到第一个输入区(:begin) 这与DOS/DOSbox无法将“/p”注册为SET命令有

最近我创建了一个小批量游戏

问题是,因为我使用的是Windows的CMD批处理语言,所以游戏无法在DOS或DOSbox中正常运行

开头很好,但一旦我进入第一个播放器输入部分,就会出现一个“糟糕的语法”错误

有人知道MS-DOS等同于Windows CMD命令吗

例如,在基于CMD的批处理文件中,我会使用“set…”来设置输入。DOS版本的“set…”是什么

一旦玩家在游戏开始后按下一个键,问题就开始了,并被带到第一个输入区(:begin)

这与DOS/DOSbox无法将“/p”注册为SET命令有关吗


如果是这样的话,DOS的等价物是什么?

我建议在MSDOS 7.1中使用virtualbox,而不是DOSBOX。由于DOSBOX是一个模拟器,您将少受麻烦,而Virtualbox将运行它,就像它运行一台运行MSDOS的实际IBM-PC一样

您的游戏中有1个主要缺陷:

SET/p CHOICE=输入

在DOS中,此命令不起作用。我知道一个解决方法,但如果“%choice%”==“1”,我不知道如何建立一个等式。它使用QBASIC

打印输入;选项$
将完成此任务

打印
回显
输入

分号
;选项$
设置变量选项。您需要
$
使变量能够包含字符串

你可以在网上找到很多QBASIC教程。找到一个后,了解如何在if CHOICE$=1上执行
if
语句,以打开包含
:deficulty3
内容的文件


我可能会发布一个IF声明,说明这是我找到的

我建议在MSDOS 7.1中使用virtualbox,而不是DOSBOX。由于DOSBOX是一个模拟器,您将少受麻烦,而Virtualbox将运行它,就像它运行一台运行MSDOS的实际IBM-PC一样

您的游戏中有1个主要缺陷:

SET/p CHOICE=输入

在DOS中,此命令不起作用。我知道一个解决方法,但如果“%choice%”==“1”,我不知道如何建立一个等式。它使用QBASIC

打印输入;选项$
将完成此任务

打印
回显
输入

分号
;选项$
设置变量选项。您需要
$
使变量能够包含字符串

你可以在网上找到很多QBASIC教程。找到一个后,了解如何在if CHOICE$=1上执行
if
语句,以打开包含
:deficulty3
内容的文件


我可能会发布一个IF声明,说明这是我找到的

你应该放一些代码样本的命令非常有限,即使与MS-DOS相比也是如此,所以你可能无论如何都需要调用cmd.exe。而且
cmd.exe
MS-DOS
的超集,看看@nurfarazi-我回家后会发布一个样本。你应该放一些代码样本的命令非常有限,即使与MS-DOS相比也是如此因此,您可能需要校准cmd.exe。而且
cmd.exe
ms dos
的超集,请查看@nurfarazi-我回家后会发布一个示例。谢谢您提供的信息。我会查看QBASIC和VirtualBox。不过,我只有一个问题:所以为了制作一个与DOS兼容的批处理文件,我不应该使用任何普通的批处理脚本,而是应该基于QBASIC编写所有内容?或者我应该做两者的混合(玩家的输入是在QBASIC中完成的,但是其他的都是在正常的批处理中)?我会做混合,因为转换会容易得多,但是如果命令不起作用,那么我会在QBASIC中做,因为它有一个很大的命令库,可能会满足需要。据我所知,QBASIC不能在64位Windows上运行。要同时兼容DOS和Windows,您必须只使用DOS命令(尽管我不太确定它们是否都能在Windows中工作)。如果你只想为DOS编写一个游戏,我会选择QBASIC,忘记批处理。@Stephan考虑到DOS命令可能在Windows下工作,也可能不在Windows下工作,而QBASIC不在Windows下工作,我最好只关注DOS。也就是说,就DOS命令与QBASIC而言,运行使用DOS命令编写的程序是否会比较轻松,或者QBASIC是否完全受DOS支持?@RookieTEC9感谢您提供的信息。我可能会把重点放在为DOS制作一些东西上,因为试图在DOS和Windows上制作一些东西可能会很麻烦。谢谢你提供的信息。我会查看QBASIC和VirtualBox。不过,我只有一个问题:所以为了制作一个与DOS兼容的批处理文件,我不应该使用任何普通的批处理脚本,而是应该基于QBASIC编写所有内容?或者我应该做两者的混合(玩家的输入是在QBASIC中完成的,但是其他的都是在正常的批处理中)?我会做混合,因为转换会容易得多,但是如果命令不起作用,那么我会在QBASIC中做,因为它有一个很大的命令库,可能会满足需要。据我所知,QBASIC不能在64位Windows上运行。要同时兼容DOS和Windows,您必须只使用DOS命令(尽管我不太确定它们是否都能在Windows中工作)。如果你只想为DOS编写一个游戏,我会选择QBASIC,忘记批处理。@Stephan考虑到DOS命令可能在Windows下工作,也可能不在Windows下工作,而QBASIC不在Windows下工作,我最好只关注DOS。也就是说,就DOS命令与QBASIC而言,运行使用DOS命令编写的程序是否会比较轻松,或者QBASIC是否完全受DOS支持?@RookieTEC9感谢您提供的信息。我可能会把重点放在为DOS制作一些东西上,因为试图在DOS和Windows上制作一些东西可能会很麻烦。
: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