首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >读/写‘扩展’文件属性(C#)

读/写‘扩展’文件属性(C#)
EN

Stack Overflow用户
提问于 2008-10-20 21:56:11
回答 3查看 118.3K关注 0票数 110

我正在尝试找出如何读/写C#中的扩展文件属性,例如注释,比特率,访问日期,类别等,你可以在Windows资源管理器中看到。你知道该怎么做吗?编辑:我将主要读/写视频文件(AVI/DIVX/...)

EN

回答 3

Stack Overflow用户

发布于 2010-08-23 20:25:28

感谢你们的这个帖子!当我想知道exe的文件版本时,它对我很有帮助。然而,我需要自己弄清楚所谓的扩展属性的最后一点。

如果您在Windows资源管理器中打开exe (或dll)文件的属性,您将看到一个版本选项卡,以及该文件的扩展属性视图。我想访问其中的一个值。

这个问题的解决方案是属性索引器FolderItem.ExtendedProperty,如果您删除属性名称中的所有空格,您将获得值。例如,文件版本变成了FileVersion,你就有了它。

希望这对任何人都有帮助,只是想把这个信息添加到这个帖子中。干杯!

票数 8
EN

Stack Overflow用户

发布于 2013-02-27 20:01:49

GetDetailsOf()方法-检索有关文件夹中项目的详细信息。例如,它的大小、类型或上次修改的时间。文件属性可能因Windows-OS版本的不同而有所不同。

代码语言:javascript
复制
List<string> arrHeaders = new List<string>();

 Shell shell = new ShellClass();
 Folder rFolder = shell.NameSpace(_rootPath);
 FolderItem rFiles = rFolder.ParseName(filename);

 for (int i = 0; i < short.MaxValue; i++)
 {
      string value = rFolder.GetDetailsOf(rFiles, i).Trim();
      arrHeaders.Add(value);
 }
票数 8
EN

Stack Overflow用户

发布于 2017-10-09 21:49:14

Jerker's answer 稍微简单一点。下面是运行from MS的示例代码

代码语言:javascript
复制
var folder = new Shell().NameSpace(folderPath);
foreach (FolderItem2 item in folder.Items())
{
    var company = item.ExtendedProperty("Company");
    var author = item.ExtendedProperty("Author");
    // Etc.
}

对于那些不能静态引用shell32的人,可以像这样动态调用它:

代码语言:javascript
复制
var shellAppType = Type.GetTypeFromProgID("Shell.Application");
dynamic shellApp = Activator.CreateInstance(shellAppType);
var folder = shellApp.NameSpace(folderPath);
foreach (var item in folder.Items())
{
    var company = item.ExtendedProperty("Company");
    var author = item.ExtendedProperty("Author");
    // Etc.
}
票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/220097

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档