问题描述
我正在尝试在 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 中调用它。一些编译器是免费提供的,可供下载。