C# 以编程方式添加自定义文件属性

C# 以编程方式添加自定义文件属性,c#,vb.net,C#,Vb.net,我需要以编程方式向数千个文件添加自定义文件属性。 WindowsAPICodePack可以获取/设置现有文件属性,但似乎无法添加自定义属性 下面是基于以下内容工作的代码: 您必须引用可从Microsoft此处下载的DSOFile.dll: @Jimi是的,解决了我的问题,非常感谢。欢迎:)顺便说一句,您的问题将作为副本关闭。别担心,这是正常的程序。但是,如果您愿意,您可以回答自己的问题,将您拥有的代码(不是副本的副本粘贴)作为答案。在问题结束之前,也就是说。@Jimi我已经将问题标记为重复,

我需要以编程方式向数千个文件添加自定义文件属性。
WindowsAPICodePack
可以获取/设置现有文件属性,但似乎无法添加自定义属性


下面是基于以下内容工作的代码:

您必须引用可从Microsoft此处下载的
DSOFile.dll


@Jimi是的,解决了我的问题,非常感谢。欢迎:)顺便说一句,您的问题将作为副本关闭。别担心,这是正常的程序。但是,如果您愿意,您可以回答自己的问题,将您拥有的代码(不是副本的副本粘贴)作为答案。在问题结束之前,也就是说。@Jimi我已经将问题标记为重复,所以我不能再回答了。我用代码编辑了我的原始问题。好吧,这将使你的问题保持活力。
using DSOFile;

OleDocumentProperties myFile = new DSOFile.OleDocumentProperties();
myFile.Open(@"c:\temp\B30700.asm", false, DSOFile.dsoFileOpenOptions.dsoOptionDefault);

bool property_exists;
object prop_value;

prop_value = "999";

//Then check if there's already a property like the one you want to create
property_exists = false;

foreach (DSOFile.CustomProperty property in myFile.CustomProperties)
{
    if (property.Name == "Your Property Name")
    {
        //Property exists
        //End the task here (return;) oder edit the property
        property_exists = true;
        property.set_Value(prop_value);
    }
}

if (!property_exists)
    myFile.CustomProperties.Add("Your Property Name", ref prop_value);

myFile.Save();
myFile.Close(true);