以编程方式管理文件自定义属性(Get& Set) - C#

时间:2016-02-26 08:53:21

标签: c#

我正在实施一个C#Windows控制台应用程序来管理Windows资源管理器中的文件。在我的工作的这一点上,我需要创建文件自定义属性,并设置和获取它们的值。我已经阅读了很多网页文章,我知道我不能为每个文件执行此操作,这取决于所选文件的类型/性质......这对我来说没问题,这是一个在开始工作之前我考虑并接受的限制。

请考虑我要在不使用文件相关应用程序的情况下管理这些属性(例如,如果是.docx文件,我不想打开Word应用程序,然后使用Microsoft.Office.Interop.Word.ApplicationMicrosoft.Office.Interop.Word.Document类)。事实上确实存在可以在Win Explorer中右键单击文件,选择'属性'然后找到一个名为' Custom'您可以在其中搜索,阅读和设置自定义属性。

enter image description here

我想要做的是以编程方式管理(读取和写入)此文件自定义信息。

任何提示?谢谢!

编辑#1: 我试图按照Simon Mourier's hint但不幸的是它不起作用,我无法设置属性值。我还尝试了Rod Howarth's hint但是当您尝试设置现有自定义属性的值时它失败了...此外,使用DSOFile libraryproblems与保存的持久性相关定制财产。

2 个答案:

答案 0 :(得分:0)

this。它是关于office文件自定义属性,但有一个答案描述了如何获取任何文件的自定义属性的方法(据我所知,甚至txt文件可以有一些)

答案 1 :(得分:0)

如果您需要设置现有自定义属性的值,

This解决方案似乎正常工作;如果您需要创建新生成的自定义属性,则必须使用Add(string sPropName, ref object Value)集合的CustomProperties方法。