如何使用 NTFS 创建“透明”或“不可检测”的符号链接?

如何使用 NTFS 创建“透明”或“不可检测”的符号链接?

我目前使用三种“云”服务(Google Drive、Dropbox 和 SkyDrive)。但是,它们的可定制性不强;我无法将这三种服务都设置为同步同一个本地文件夹。而且,由于不同的服务有不同的空间限制,我希望它们有一个单独的本地文件夹。

例如,我有以下内容:

  • C:\用户\我\Google 文档\
  • C:\用户\我\SkyDrive\
  • C:\用户\我\Dropbox\

我有一些“极其重要”的文件,保存在其他地方

  • D:\Documents\重要

因为这些很“重要”,所以我希望在我在该文件夹中创建某些内容后立即将它们同步到所有三个服务。

我用过明科互联尝试这样做:

MKLINK [[/D] | [/H] | [/J]] Link Target

在每三个本地文件夹中,我使用 MKLINK 创建指向D:\Documents\重要 - 看起来可以正常工作。我在本地看到了该文件夹,并且可以导航到它。每个文件我只有一个副本 - 一切都很好。

除了

Google Drive 无法同步它。

它“知道”这不是一个真正的目录,所以它以不同的方式对待它!这似乎是一个已知问题: http://productforums.google.com/forum/#!topic/drive/vImyhTG7qWs%5B1-25-false%5D http://blog.redhed.org/2012/04/use-existing-folder-for-google-drive.html

我对符号链接的理解是,它正是针对这种情况而设计的。我希望我的应用程序不知道该链接是符号链接。我希望它们只看到一个包含文件的文件夹。显然,操作系统应该在“幕后”正确处理这个问题……但我希望这对我正在运行的应用程序来说是透明的。

我开始漫无目的地说了起来,但是,除了 MKLINK 之外,还有什么我可以使用的东西,本质上可以做同样的事情,但是以一种“透明”的方式?

答案1

你是指硬链接吗?使用fsutil hardlink create

C:\Users\ultrasawblade>fsutil hardlink create 
Usage : fsutil hardlink create <new filename> <existing filename>    
Eg : fsutil hardlink create c:\foo.txt c:\bar.txt

相关内容