当前位置:编程学习 > C#/ASP.NET >>

关于修改文件属性的问题,高人请进

--------------------编程问答-------------------- 设置文件属性
string filePath = @"d:\file";
            DirectoryInfo dir = new DirectoryInfo(filePath);
            FileInfo[] fileInfo = dir.GetFiles();
            foreach (FileInfo file in fileInfo)
            {
                string fileName = file.FullName;
                File.SetAttributes(fileName,FileAttributes.Hidden);
            }
        }
File.SetAttributes("",FileAttributes.ReadOnly);//只读属性 
FileAttributes MyAttributes = File.GetAttributes(""); 
File.SetAttributes(textBox1.Text, FileAttributes.Normal);//设置文件夹属性为正常 
File.SetAttributes("", FileAttributes.ReadOnly);//设置只读文件夹
File.SetAttributes(textBox1.Text, MyAttributes | FileAttributes.System);//设置添加系统文件夹 
File.SetAttributes(textBox1.Text, MyAttributes | FileAttributes.Hidden);//设置添加隐藏文件夹 
File.SetAttributes("", MyAttributes | FileAttributes.Archive);//设置添加归档文件夹

--------------------编程问答-------------------- 楼上的大哥,我要设置属性中的概要信息,不是常规属性信息,如:标题,主题,作者,类别,关键字、备注。

你说的常规属性值我也知道怎么设的。
--------------------编程问答-------------------- 冒泡帮顶接分

这个和文件类型有关系吧? --------------------编程问答-------------------- 搭个顺风车学习下吧 --------------------编程问答-------------------- 是说的 WORD的摘要吧? --------------------编程问答-------------------- 顶了 --------------------编程问答--------------------
引用 2 楼 white_dove3000 的回复:
楼上的大哥,我要设置属性中的概要信息,不是常规属性信息,如:标题,主题,作者,类别,关键字、备注。

你说的常规属性值我也知道怎么设的。
是项目里面的吧exe文件  AssemblyInfo.cs这个文件里面可以改 --------------------编程问答--------------------     防止WORD文档属性暴露信息
   可以直接在文档中打开“工具”菜单下的“选项”命令,然后在“安全性”标签中把“隐私选项”下的“保存时从文件属性中删除个人信息”项选中即可。
    以上方法可以用COM方式代码实现。
    
    摘要信息不是每种文件都有的。 --------------------编程问答-------------------- 代码怎么也 忘了 ,不过手动是:可以直接在文档中打开“工具”菜单下的“选项”命令,然后在“安全性”标签中把“隐私选项”下的“保存时从文件属性中删除个人信息”项选中即可。 --------------------编程问答-------------------- 邮件--->文件-->概要
概要信息是每种文件都有的,并不只是office文档,不信你们看看就知道了。 --------------------编程问答-------------------- 我想知道用程序如何改??期待高人出现。 --------------------编程问答-------------------- 概要信息是每种文件都有的,并不只是office文档,不信你们看看就知道了。
前提是NTFS格式的文件系统 --------------------编程问答--------------------
引用 12 楼 white_dove3000 的回复:
概要信息是每种文件都有的,并不只是office文档,不信你们看看就知道了。
前提是NTFS格式的文件系统


楼主,看看你NTFS文件系统下的 *.xml 文件有不,我的系统是没有概要信息。 --------------------编程问答-------------------- “并且让设置的这些信息是只读的,不能被修改。”
個人覺得這個做不到吧~~ --------------------编程问答-------------------- (1)文件的概要信息的保存位置:在文件中
(2)禁止修改概要信息的方法

File.SetAttributes(@"c:\prg1.cs", FileAttributes.ReadOnly); //只读不能修改

(3)不是所有文件类型,支持概要信息。 xml,用于信息交流的标准文件格式,不允许乱写信息 --------------------编程问答-------------------- xml文件果然没有概要信息 --------------------编程问答-------------------- 有关NT文件系统结构的文章中,有详细的分析。 概要信息在属性信息记录中

给你个参考资料:
NTFS文件系统若干技术研究 --------------------编程问答-------------------- 还有高人指点吗? --------------------编程问答-------------------- 头文件里面应该有什么作者之类的信息。。。。。比如ultredit工具看得到
随便说的  --------------------编程问答-------------------- 不是高人,谈一下我的个人见解。

2楼说的是file attributes,不是楼主说的summary properties. 这是由区别的,file attributes可以通过FileAttributes 和 File类访问和设置,楼主说的summary properties可以通过IPropertySetStorage和IPropertyStorage接口访问和设置。

在NTFS文件系统中,任何类型的文件都可以设置summary properties,对于Office文档(compound files) ,summary properties是文档本身的一部分,和文件系统无关,其它类型文件则不同。

楼主说的设置summary properties可以实现的,只要满足如下条件,文件是compound file或者文件系统是NTFS格式的,但要设置成只读的似乎办不到。 --------------------编程问答--------------------             if (File.GetAttributes("D:\aa.xls") != FileAttributes.ReadOnly)
            {
                File.SetAttributes(strfrom, FileAttributes.ReadOnly);
            }
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,