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

问题描述

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

例如,如果我执行此代码

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

我会得到空行。

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

解决方法

包含在 command.com 中的类似

DosBox 的命令处理器不完全兼容 MS-DOS command.com 的命令语法,尤其是 Windows NT 的 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 中调用它。一些编译器是免费提供的,可供下载。