batch-file - 在 DosBox 中无法执行某些 DOS 命令
问题描述
我正在尝试在 dosbox 中编写批处理脚本,但没有一些命令。
例如,如果我执行此代码:
set var=helloworld
echo %var:~1,5%
我会得到空行。
我也无法执行FOR
命令。它说:“非法命令 FOR”
解决方案
command.com
-like 包含的命令处理器与MS-DOS 的命令语法或尤其是 windows NT 的命令处理器DosBox
不完全兼容。command.com
cmd.exe
有关DosBox 可用的命令及其语法,请参阅此页面。它们可能与 MS-DOS 相似但不相同。
您的选择是:
使用在外部运行的批处理文件来
dosbox
处理不需要在其中的任何内容command.com
从真正的 MS-DOS 或其他 DOS复制和运行。您可以从 DOS 启动软盘(或 Windows 95、98 或 ME)的图像中获得一张,该软盘在 Internet 上应该很丰富。然后参考该 DOS 版本的命令行手册。您将无法访问其中的特定于 DosBox 的命令,并且它可能会像几乎任何其他 DOS 程序一样尝试不必要地占用 CPU。用任何可以在 DOS 中执行的程序,如 C(DOS 的免费 C 编译器),并从 DosBox 调用它。一些编译器是免费的,可供下载。
推荐阅读
- php - 无法调用 AJAX 链接到 PHP 单页应用程序中的内部页面
- linux - 如何从符号文件(脚本文件)中获取源路径
- c++ - 如何将空文件夹和符号链接添加到存档 - libarchive
- python - python3:避免在字典中创建重复键
- c++ - std::numeric_limits::infinity() 的倒数为零吗?
- symfony - symfony 4 控制器不再返回任何响应
- sql - MAX 选择中的 SQL 计数
- python - 基于循环更新 tkinter 标签
- c - 在 c 中启用 Windows 的虚拟终端处理时出现问题
- javascript - 如何在 JavaScript 中将单词列表转换为数组