我有以下情况:
我编写的主要软件使用由模拟器创建的数据库。目前这个数据库大约10 GB,因此我希望每个系统只保留一份该数据。
假设我有以下项目:
使用数据的主要软件,位于/ SimData
DLL使用数据进行调试,在/ SimData中搜索数据
用于解析图像数据库的调试工具,在/ SimData
中搜索数据由于我不希望所有这些程序都有自己的SimData副本(不仅要减少使用的位置,还要确保所有使用的模拟数据始终是最新的)。
我为DLL和调试实用程序创建了一个名为SimData的链接到MainSoftware / SimData,但是当打开一个带有“SimData \ MyFile.data”的文件时它无法找到它,只有带有ACTUAL SimData文件夹的MainSoftware才能找到它。
如何在不设置绝对路径的情况下使用MainSoftware / SimData文件夹?
这是在Windows 7 x64
上答案 0 :(得分:1)
您需要一种配置数据库位置的方法。您可以使用INI或其他配置文件,注册表设置,命令行输入或环境变量。或者您可以编写程序来搜索目录层次结构...例如,如果各种模块通常是目录树中彼此的兄弟姐妹,则可以搜索SimData / MyFile.data,.. / SimData / MyFile.data ,../../ MainSoftware/SimData/Myfile.data,并使用第一个找到的。
“正确的”答案取决于你的情况。
答案 1 :(得分:1)
我同意Peter的意见,即将DB位置添加为可配置参数。存储在注册表中的常见位置。
但是,如果要创建软件可识别的链接,请尝试使用硬链接。 。 fsutil应该按照here所述的方法行事。