将我的DOS程序(带数据库)复制(并运行)到我的Windows 8

时间:2014-11-04 14:04:34

标签: database dos dosbox

------- ------- UPDATE

所以在乔斯的建议中我找到了一些东西。首先,网络上的程序位于I驱动器上的共享文件夹中,称为apps。在这个apps文件夹中,unitbeheer文件夹中包含所有文件和内容。但事情是,我无法访问网络上的I驱动器,使用该程序的人也无法访问。 I文件夹是一个旧的(虚拟)共享驱动器,除了运行unitbeheer程序之外没有任何用处 - 正是乔思想的。

虽然有些网络人员已经转移了dos程序(unitbeheer)很长一段时间去了XP电脑。看来他在这台XP电脑上创建了一个自己的虚拟驱动器。在这里我可以看看我的驱动器,我的驱动器只包含我已经复制的程序(和文件)本身。所以我的猜测是,unitbeheer的所有文件都使用了一些指向i的路径。

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

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

own created i drive

我想也许大部分错误都消失了,因为我现在从I驱动程序运行程序但是当我启动程序的快捷方式时,它说它所引用的快捷方式是不可用的..所以我删除了unitbeheer文件夹并且只是直接将文件夹中的所有文件复制到I.现在,当我启动快捷方式时,它说它不能在64位PC上工作,所以我们已经知道了什么以及我需要什么样的DOSbox程序... (这让我觉得现在快捷方式有效)。

虽然现在在dosbox上运行它仍然会出现ub.dbo不存在的错误(因此创建一个I驱动程序并不起作用)。

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

然后关于不使用DROPbox的部分,好建议,因为我不想搞乱重要的数据库的东西!虽然当我尝试使用Vbox运行时,它并不是很有效。我正在装载它:通过使用:使用I:i:\然后我尝试cd unitbeheer文件夹但这不起作用,cd unitbe~1也不起作用(最多8个字符)。当我在没有我尝试的文件夹的情况下复制时:使用I:i:\然后只需通过调用快捷方式(unitbeheer.lnk)或直接调用程序UB.BAT来激活程序,但这两个都不起作用。 ..

我希望你能再多一点!提前谢谢!

------ END UPDATE ------

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

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

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

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

当我查看程序执行的操作(正在执行)时,它似乎转到文件夹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程序所在的文件夹(DOS文件是我放入的文件夹),UB.BAT是需要执行的程序。

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

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

此时我陷入困境..你们中的任何一个人是否知道出了什么问题?它可能是一个很难的问题,没有关于该程序的详细信息,所以我将尝试上传下面的mich信息:

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

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

The files of the unitbeheer program

More files of the unitbeheer program including the launching file

The DBASE5 map image

The DBASE5 map image with the 2 files that are causing the errors

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

1 个答案:

答案 0 :(得分: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快捷方式(属性)。 “在文件夹中启动”必须成为在DOSBox中启动unitbeheer程序的文件夹。所以你应该从带有CD的DOSBox命令行开始到这个文件夹,这样就是当前目录。 然后从该文件夹执行“目标”文件,这可能需要一些文件夹前缀(.. \,无论如何)。

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

Jos Schaars