1

- - - -更新 - - - -

所以在乔斯的建议下,我发现了一些事情。首先,网络上的程序位于 I 盘上的共享文件夹中,称为应用程序。在此应用程序文件夹中,unitbeheer 文件夹及其所有文件和内容都位于该文件夹中。但问题是,我无法访问网络上的驱动器,使用该程序的人也无法访问。I 文件夹是一个旧的(虚拟)共享驱动器,除了运行 unitbeheer 程序之外没有任何用处——这正是 Jos 的想法。

虽然有的网络人把dos程序(unitbeheer)转了好久才转到XP电脑上。似乎他在这台 XP 计算机上创建了一个自己的虚拟驱动器。在这里我可以查看 I 驱动器,I 驱动器只包含我已经复制的程序(和文件)本身。所以我的猜测是 unitbeheer 的所有文件都使用了一些指向 i 的方向路径。

顺便说一句,我无法访问包含该程序的网络上的应用程序文件,也无法访问我的驱动器,因此我必须在我的测试环境(我的 Windows 8 电脑)中模拟所有内容。

由于我驱动只包含程序(文件),我认为它很聪明并创建了一个虚拟的我自己在计算机上驱动所以我做了(见图):

自己创建我开车

我想也许大多数错误都消失了,因为我现在从 I 驱动程序运行程序,但是当我启动程序的快捷方式时,它说它引用的快捷方式不可用。所以我删除了 unitbeheer 文件夹并复制了文件夹中的所有文件都直接发给我。现在当我启动快捷方式时,它说它在 64 位 pc 上不起作用,所以我们已经知道以及我需要 DOSbox 程序来做什么......(这给了我想法现在快捷方式有效)。

虽然现在在 dosbox 上运行它时,我仍然收到 ub.dbo 不存在的错误(因此创建 I 驱动程序不起作用)。

对于乔斯其他问题/解决方案:我不太清楚如何使用文件夹中的开头和目标来做到这一点。至少我有点知道你的意思(文件夹中的开头是它运行的文件夹)但我我不确定它是否以目前的方式好。当我从 XP 查看原始快捷方式时,快捷方式的开头 = I:\ 和目标 = I:\Ub.BAT (这就是为什么我删除了我自己创建的 I 驱动器中的 unitbeheer 文件夹,因为目标是立即设置的到程序启动器)。我刚刚离开目标并开始现在,因为我创建了自己的 I 驱动程序或者我只是将它安装到 I 驱动程序。

然后是关于不使用 DROPbox 的部分,这是个好建议,因为我不想弄乱重要的数据库内容!虽然当我尝试将它与 Vbox 一起运行时,它并不能很好地工作。我将它安装在 I: 通过使用: USE I: i:\ 然后我试图 cd unitbeheer 文件夹,但这不起作用, cd unitbe~1 也不起作用(最多 8 个字符)。当在没有文件夹的情况下复制到 I 时,我尝试执行以下操作:使用 I:i:\ 然后通过调用快捷方式 (unitbeheer.lnk) 或直接调用程序 UB.BAT 来启动程序,但这两者都不起作用......

我希望你能让我更进一步!先感谢您!

------结束更新-----

在过去的 13 年里,我的一个朋友正在使用一个名为 unitbeheer(单元管理)的程序,它是一个带有某种数据库(DOS?)的 DOS 程序。该程序所做的事情非常简单,它包含有关正在雇用的位置的所有这些信息(成本、持续时间等),我们可以向它添加信息或检索它并打印出来。尽管该程序还有更多内容,但这基本上就是它的作用。

问题是它现在在 windows xp pc 上运行,我想将它迁移到 windows 8 pc。我可能对此感到头疼,但我已经阅读了一些关于如何做到这一点的内容,并发现我可以使用 DOSbox 应用程序在 64 位系统(我的 Windows 8)上运行 DOS 程序。所以一切正常,我已经安装了我的驱动程序并运行了程序。

所以程序(及其所属文件,以及它的查询/数据库文件)都被复制到我的电脑上。

现在,当我运行程序时,我遇到了一些我无法弄清楚的错误。首先,当我将程序文件安装到我的 c 驱动程序(它也被复制到其中)并运行程序时,我收到错误:没有验证站:I:将 dire 设置为 i:

当我查看程序的功能(正在执行)时,它似乎进入了文件夹 DBASE5(使用 cd DBASE5),然后运行了一个名为 DBASE UB.PRG 的文件。首先,该文件夹中没有这样的文件,但是有两个单独的文件:一个是 DBASE.EXE,一个是 UB.PRG。除此之外,我很好奇UB文件中的内容,所以我用记事本打开它。这是该文件夹中的代码:

set dire to i:\
do ub.dbo 

ub.dbo 显然是另一个具有相同名称但扩展名不同的文件。我想通过将我的驱动程序安装到 I 来解决这个问题。这是我在 DOSbox 中的安装代码(以 i 作为驱动程序)的方式:

mount i c:\DOSfiles
i:
cd unitbe~1
UB.BAT

unitbe~1 是 DOS 程序所在的文件夹(而 DOSfiles 是我用来放置它的文件夹),UB.BAT 是需要执行的程序。

这有效(有点)但导致我遇到另一个问题,现在我收到错误消息:文件不存在:ub.dbo。这很奇怪,因为该文件在文件夹中..当我用记事本打开它时,我得到了这个我不明白的奇怪代码:

DBO          9                                               ë ub.prg F P S&O«I¹\ ub.dbo  ž  
         $    ' ÿÿ     ub.dbo          @           h   „   '          ub        ub.prg   

在这一点上我被卡住了..你们中的任何人可能知道出了什么问题吗?如果没有有关该程序的详细信息,这可能是一个难题,因此我将尝试上传以下信息:

*背景:该程序正在公司的网络上运行,因为我今天第一次看到这个程序(关于它的作用的解释)我不确定它到底在哪个驱动程序上运行(但我想是我) . 我也不知道那里还有哪些其他(可能相关的)文件(不过明天会知道)。

此外,我为所有文件制作了一些屏幕截图:(不要介意记事本打开时使用..它现在是某些扩展的默认设置..) - 请注意,在通用地图中有 2 个程序文件的屏幕截图和 2 个DBASE5 映射也位于程序文件中(作为映射)。

unitbeheer 程序的文件

unitbeheer 程序的更多文件,包括启动文件

DBASE5 地图图像

包含导致错误的 2 个文件的 DBASE5 映射图像

我希望这是足够的输入。无论如何,提前谢谢你!

4

1 回答 1

1

实际上 DBASE UB.PRG 启动 DBASE.EXE 指示它加载和执行 UP.PRG。

回到运行 unitbeheer 程序的 XP PC 并检查 C: 是否有文件夹 DOSfiles\unitbeheer。如果不是,则改为 C:\unitbeheer,将 C: 挂载为 C:\DOSfiles,以便在新旧 (DOSBox) PC 上获得相同的 C: 结构。

看看我:是在 XP PC 上。可能它不是“真正的”驱动器,而是映射到某个网络共享的驱动器号。只是为了测试,将I:(旧PC/网络共享)的文件和文件夹复制到新PC上的C:\I_data,并将I:挂载为C:\I_data。然后仔细查看 UnitBeheer 快捷方式(属性)。“Start in folder”必须成为您在 DOSBox 中启动 unitbeheer 程序的文件夹。所以你应该从 DOSBox 命令行开始,用一张 CD 到这个文件夹,这样这就是当前目录。然后从这个文件夹执行“目标”文件,这可能需要一些文件夹前缀(..\,随便)。

请注意,DOSBox 不适合在多用户设置中运行多个程序实例。如果 unitbeheer 被多人同时使用,请不要将其设置为在真实网络中运行。它会及时损坏数据库!如果 unitbeheer 确实用于多用户,请查看 vDos ( http://sourceforge.net/projects/vdos/ )。

乔斯·沙尔斯

于 2014-11-05T21:12:07.943 回答