如何在C#中访问文件属性?

时间:2011-01-20 21:02:05

标签: c# .net file

这实际上可能是一个由两部分组成的问题。

1)如何在C#中访问文件的属性(只读状态,creationdate,以及在右键单击文件时选择“属性”时在属性屏幕上可以看到的任何内容)

是否有file.Attributes["CreationDateTime"]之类的语法可以执行此操作?

2)如何使用C#访问.lnk文件(例如桌面快捷方式)的目标? 我想要整个目标,我有一些看起来像:

  

“[somepath]”“[somepath]”/ cmd   “somepath”

我需要整个价值。当前代码仅提供第一条路径。

2 个答案:

答案 0 :(得分:3)

使用System.IO.FileInfo对象。它有创作时间作为财产。

我不确定你对第二部分的意思......

答案 1 :(得分:2)

克里斯回答了第一部分。

对于问题的第二部分:您实际上希望使用IShellLink,这是在.NET中直接可用的的本机Windows API。

然而,那里的某个人总是写一个reusable library.我应该有一个属性给你目标。

Heres another library我发现Wikipedia.org这个是推荐,因为它是100%托管的解决方案,IOW,它不会调用COM(你更喜欢的东西)不这样做)

最后只需要你file format, here it is。 pdf链接似乎不起作用,但您可以下载我认为的所有修订。


由于你还不清楚第一个问题,如果你从文件中确切地说出你需要的信息,我会很高兴(就像你说你想要目标一样)

与IShellLink一样,如果.NET不提供某些API,则必须使用本机。但通常.NET确实提供了您所需要的功能。请查看Chris链接到的msdn页面上的这一段:

  

FileInfo类提供了   以下属性使您   检索有关文件的信息。   有关如何使用每个的示例   属性,请参阅属性页。

     

Directory属性检索   表示父级的对象   文件目录。

     

DirectoryName属性检索   父目录的完整路径   一个文件。

     

Exists属性检查   在操作之前存在文件   它

     

IsReadOnly属性检索或   设置一个值,指定是否   文件可以修改。

     

Length检索a的大小   文件。

     

Name检索文件名。