情况:
我在 Windows10 下运行 DOSBox(版本报告为 DOS 5.00)。此处的“DOS”仅指 DOSBox“客户”环境。我在 Windows 端创建了一个名为“bulk”的子目录,我可以使用
mount c "c:\...\bulk"
以下症状挂载它:
echo This will work > foo.txt
这会悄无声息地成功。
该文件将在 DOS 中可见(并在会话之间持久),但在 Windows 中不可见——无论哪个系统(Win 或 DOS)创建了该文件夹。
但我不能:
echo This will not work > foo.bat
这会失败并显示一个指示器,如下所示:
C:\>echo This will not work > foo2.bat This will not work C:\>
相反,回显的内容已重定向到屏幕(在 DOS 中),并且错误消息累积(某些内容重定向到 stderr 或 stdout)在 DOSBox 控制台中(而不是在 DOS 环境中)。
无论如何,我都无法在 DOS 中创建批处理文件,即使是在内置的 Z:\ 目录中也不行(该目录在 Windows 文件系统中是不可见的)。
我怀疑这是文件系统权限冲突,但由于批处理文件过于繁琐,我不知道它从何而来。
如果您知道有关批处理文件创建的 Windows 设置,我愿意倾听。但这可能不是问题所在,所以不要让我对解决方案进行过多猜测。——
哦,我刚刚发现了这个问题。然后我会发布答案。
答案1
罪魁祸首:前面提到的 c:...\bulk 文件夹忽略了一个重要的事实(事实证明):完整路径类似于 c:\Program Files(x86)\DOSBox\bulk,有些人可能已经看到了问题所在。“Program Files”文件夹有限制。DOSBox(至少 0.74-2 版本)倾向于安装到该目录。
解决方案:我将 .\bulk 重新定位到 ~\Documents\Retro\bulk,这样就解决了问题。只需更新 ini/config 文件中的 mount 参数。我会看看是否可以将整个混乱重新安装到我首选的 ~\Documents\RunFromHere。对于简单的程序来说,这开箱即用,到目前为止,我还没有遇到任何应用程序权限问题,只是因为给定的应用程序不在 Program Files 中。
我们拭目以待。