繁体   English   中英

C#-添加,编辑和删除文件标签

[英]C# - Add, edit and delete tags of file

我想在文件系统中添加和检索文件的标签。

正如您可以将Stackoverflow问题标记为相关主题一样,您可以标记Windows文件系统中的文件:

样品

以下方法无法让我访问文件的标签,而只能访问其他文件属性。

string file = @"C:\Users\me\Desktop\MyFile.doc";

FileInfo oFileInfo = new FileInfo(file);
MessageBox.Show(oFileInfo.FullName);

有什么想法如何使用System.IO的简单API访问标签?

正如您可以将Stackoverflow问题标记为相关主题一样,您可以标记Windows文件系统中的文件

这个假设是错误的。 您不能将标记添加到所有文件类型。 这里

注意

您不能添加或修改某些类型的文件的文件属性。 例如,您可以添加或修改Microsoft Office文档和搜索的属性,但不能添加或修改TXT或RTF文件的属性。

除了提到的类型外,还有其他类型可以包含自定义标签:

  • mp3文件可以包含各种版本的ID3标签
  • flac和ogg文件可以包含ogg-vorbis标签
  • jpeg文件可以包含exif数据
  • pdf文件可以包含各种信息字段

编辑/添加/删除这些标签应使用专用库完成。

这篇文章有一个很好的解释:

在Windows资源管理器中,您可以看到许多文件类型的大量文档属性。 好的统一界面表明存在一些统一的属性存储。 事实并非如此。 Explorer Shell具有用于属性表处理程序的可扩展接口,该属性表处理程序从各种文件类型中提取此信息。 有一个用于JFIF(JPEG)文件的处理程序,并且有一个用于OLE文件(旧的Office格式)和新的Office格式的处理程序。

这篇文章展示了OP如何通过ShellFile成功添加标签。

还建议阅读: 在C#中获取和设置文件标签元信息

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM