如何将文件链接/绑定到文件系统上的文件夹

时间:2012-07-14 09:53:12

标签: c# file filesystems directory

我想将文件绑定到文件夹,以便在移动/复制/删除文件时,文件夹也会随文件一起自动移动/复制/删除(类似于html文件链接到包含文件的文件夹)资源)

此时此行为仅针对html文件及其对应的“htmlFilename_files”文件夹激活。有没有办法为这种行为注册另一个文件扩展名?或者是否存在提供类似行为的黑客或功能?感谢。

1 个答案:

答案 0 :(得分:0)

即使对于HTML,此行为也特定于Explorer。

问题是文件系统级别没有“复制”操作(并且移动操作与您在用户模式下看到的操作不同)。

从技术上讲,您可以创建文件系统筛选器驱动程序并跟踪某些文件上的RenameOrMove和Delete操作,然后对该目录执行某些操作。但这不适用于复制,这是一系列“读”+“写”操作,你会很难匹配读写(但是,我也可以考虑使用过滤驱动程序跟踪复制的一些方法) )。您可以自己创建过滤器驱动程序,但这需要C编程和特殊知识。您可以自己编写驱动程序(read MSDN article)或使用我们的CallbackFilter产品(它提供预先创建的驱动程序和.NET API以与您的软件集成)。

如果数据文件是您的,将所有文件保存在一个虚拟容器中是有意义的 - 这可以是MHT文件(HTML +补充文件由Internet Explorer合并到MHT中),ZIP存档或SolFS存储(SolFS是我们的虚拟文件)文件系统产品)。然后,只有一个文件供用户管理,而您的应用程序中包含所有文件。

如果您需要让外部应用程序访问容器中的文件,则可以创建虚拟磁盘 - 此类磁盘将公开容器的内容。任何容器的内容都可以使用现在死亡的Dokan或我们的回调文件系统产品公开为虚拟磁盘。