我有一个小应用程序,用于显示日志文件的内容,为了便于阅读,该文件已进行了迁移。 由于日志文件偶尔会被重写,并且Windows文件系统语义禁止删除打开的文件,因此我创建了指向该文件的硬链接。

显然,这需要在与原始文件相同的文件系统上进行-目前,我在同一目录中创建硬盘,我认为可以合理地假设它可以满足此要求; 结果是在用户单击打开文件的目录列表中显示了一个临时文件,这很丑陋。

有没有一种方法可以创建一个硬链接,使其不显示(使用该程序的客户的目录树中有多个联结,因此不能假定特定目录位于同一文件系统上),或者是否存在一种更好的读取文件的方法,该文件可能是另一个进程可能想要删除和重写的(例如,在允许其他进程访问之前,通过捕获它们的访问并关闭文件),因此该程序可用于已归档(只读)日志文件,而无需修改?

===============>>#1 票数:0

  1. 没有
  2. 如果可以的话,将无济于事。 共享跨度链接。
  3. 使用Hans Passant提出的解决方案作为注释。

  ask by Simon Richter translate from so

未解决问题?本站智能推荐:

1回复

Windows硬链接-防止写入

我有一堆文件,我有时会下载然后进行自定义。 我想保留原件,但也允许修改,并且我想使用硬链接来做到这一点。 我想我首先将这批文件下载到某种存储库中,然后在我的工作位置中创建硬链接。 我想让用户删除他的文件(例如删除硬链接),这不会造成问题。 但是,我也想让他写信给他们,在这种情况下
2回复

在ntfs分区上从Linux创建硬链接是否可行?

我找到了一个程序,该程序可以通过硬链接实际上相同的文件来节省空间,从而在文件系统上仅保留文件的一个副本,并指向多个硬链接。 该程序称为“ 硬链接” 。 很好,因为我终于找到了一种方法,可以在我了解rsync和增量备份之前为旧备份节省空间。 经过如此冗长的介绍之后,所有读者都会想到一
1回复

如何将目录符号链接复制为指向目标的链接?

说,我使用mklink命令创建了目录符号链接,如下所示: mklink / d“测试目录链接1”“目标目录” 如何将其作为链接复制到目标目录? 当我尝试像这样使用CopyFileEx API和COPY_FILE_COPY_SYMLINK标志时: 它返回错误代码ERROR_A
1回复

指向网络卷文件的符号链接的WriteFile

我做了一个符号链接文件。 mklink C:\\ LinkFileToPointNetworkFile.txt Z:\\ NetworkFile.txt 然后我打开并阅读文件。 好。 它运作良好。 目标文件的数据已被读取。 -当然,我没有使用FILE_FLAG_OPE
1回复

如何枚举指向文件的所有NTFS硬链接的路径?

我可以使用GetFileInformationByHandle来确定与文件关联的硬链接数。 如何枚举构成这些链接的路径? 例如,如果C:\\TEMP_1.BIN和C:\\TEMP_2.BIN是指向相同内容的硬链接,并且我从GetFileInformationByHandle确定C:\\T
1回复

如何知道两个硬链接是否指向同一个inode? (C#)

无论如何在C#中检查两个文件(硬链接)是否指向同一个inode? 还得到这个inode的数量,如果有两个以上......?
1回复

链接,硬链接和符号链接:将一个文件夹中的所有文件也与自定义文件一起

我有多个站点,这些站点具有共同的产品图像,也有它们自己的自定义图像(名称相同)。 我想为每个站点合并了这些内容的文件夹,但是显然不想复制普通图像,并且如果将新图像添加到与普通文件夹中的文件具有相同文件名的自定义文件夹中,则会中断链接不会更新公用文件夹。 公用文件夹也经常更新。 例如:
1回复

找出两个句柄是否是指向同一文件的硬链接

(此问题是个棘手的问题……可能需要了解NTFS和/或使用NT Native API;请注意。):) 如果我给两个文件分配了两个HANDLE ,那么如何确定地 (不仅很有可能)确定两个HANDLE是否属于磁盘上完全相同的文件和流? 例如,这意味着仅检查8字节的NTFS文件ID是不够的,
1回复

在Android中创建硬链接和符号链接

我正在创建一个应用程序,我想在Android外部内存文件系统中使用硬链接和符号链接。 我尝试过使用这些命令 但是,当我尝试这个时,我收到此错误: 这让我觉得你需要root访问权限,虽然我已经看到其他人做同样的事情,但我不认为如果他们需要root,他们会有这些命令。 有任何想法
1回复

C中硬链接及其程序的区别

我正在编写一个与Linux上的磁盘使用实用程序类似的程序,而且在硬链接方面我遇到了麻烦。 我目前正在运行该程序,它确定程序是否具有硬链接。 我在文件上使用stat()来确定这一点。 当我运行它时,链接和链接的程序都返回,但磁盘使用实用程序只报告程序而不报告其硬链接。 如何判