无法在 DosBox 中执行某些 DOS 命令

Cannot execute some DOS commands in DosBox

我正在尝试在 dosbox 中编写批处理脚本,但是没有一些命令。

例如,如果我执行这段代码:

set var=helloworld
echo %var:~1,5%

我会得到空行。

我也无法执行FOR命令。它说:'Illegal command FOR'

command.com-like command processor included with DosBox is not fully compatible with command syntax of MS-DOS command.com or especially windows NT's cmd.exe命令处理器。

有关 DosBox 可用的命令及其语法,请参阅 this page。它们可能与 MS-DOS 的相似但不相同。

您的选择是:

  • 使用 运行 在 dosbox 之外的批处理文件来处理不需要在其中的任何内容

  • 从真正的 MS-DOS 或其他 DOS 复制和 运行 command.com。您可以从 DOS 启动软盘(或 Windows 95、98 或 ME)的映像中获取一个,这在 Internet 上应该很丰富。然后参考该 DOS 版本的命令行手册。您将无法访问其中的 DosBox 特定命令,并且它可能会像几乎所有其他 DOS 程序一样尝试不必要地占用 CPU。

  • 用任何可以在 DOS 中执行的编程语言编写程序,例如 C (free C compilers for DOS),然后从 DosBox 调用它。一些编译器是免费的,可供下载。