首页
社区
课程
招聘
[求助]请问大侠如何去除文件某些属性啊?
发表于: 2008-12-16 17:19 8136

[求助]请问大侠如何去除文件某些属性啊?

2008-12-16 17:19
8136
请问如何用SetFileAttributes去除文件的“系统”和“隐藏”属性,但要保留其“只读”属性

不要这样回答:SetFileAttributes(pFileName,FILE_ATTRIBUTE_NORMAL),这样会去除所有属性,我只希望去除某个,或几个属性。

只能用API,不能用其他语句,因为我会用其他语句。

请问有没有方法啊?,论坛上没搜到......

[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

收藏
免费 0
支持
分享
最新回复 (15)
雪    币: 474
活跃值: (53)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
本人太菜了,大侠们都不屑出手相助啊,唉...
2008-12-16 17:44
0
雪    币: 115
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
确实有点
自己去看MSDN吧
2008-12-16 18:17
0
雪    币: 212
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
FILE_ATTRIBUTE_ARCHIVE                 文件存档(备份或移动时会对文件做标记)。
    FILE_ATTRIBUTE_ENCRYPTED               加密(对文件来说是内容加密,对目录来说是对将来新建的文件默认为加密属性),与此同时,如果还设置了FILE_ATTRIBUTE_SYSTEM属性,当前这个属性将无效。
    FILE_ATTRIBUTE_HIDDEN                  隐藏属性。
    FILE_ATTRIBUTE_NORMAL                  文件没有其他属性设置,此属性只能单独使用才合法。
    FILE_ATTRIBUTE_NOT_CONTENT_INDEXED     不建立内容索引。
    FILE_ATTRIBUTE_OFFLINE                 脱机属性。文件内容暂时不可用。此属性被Remote Storage软件所用,不能任意更改。
    FILE_ATTRIBUTE_READONLY                只读文件属性。应用程序不能写或删除。
    FILE_ATTRIBUTE_SYSTEM                  文件是系统文件或被操作系统互斥地使用。
    FILE_ATTRIBUTE_TEMPORARY               临时文件,使用过程中尽量留在内存以保证存取速度。
2008-12-16 18:54
0
雪    币: 635
活跃值: (101)
能力值: ( LV12,RANK:420 )
在线值:
发帖
回帖
粉丝
5
attributes_value = GetFileAttributes
attributes_value &= ~(FILE_ATTRIBUTE_HIDDEN | FILE_ATTRIBUTE_SYSTEM )
SetFileAttributes(attributes_value)
2008-12-16 19:57
0
雪    币: 474
活跃值: (53)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
这个我知道哦........

全是答非所问,众所周知,文件可以有多个属性,我是想问用API去掉文件的某个属性,而不是去设置其属性,通过设置其为缺省(常规)属性,然后再设属性,当然可以达到目的,但是我不想绕弯,就想问有没有直接的方法!

如在VB中,setAttr  pathname,+R +H 等为设置属性

而setAttr  pathname,-R -H 则为去除属性

现在问题是用API能不能去除属性,如何进行?
2008-12-16 20:20
0
雪    币: 474
活跃值: (53)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
看来你也不是什么高手吧!

好像我不会查MSDN似的,若查得到,干嘛提问?
不多此一举吗?

虽然没有得到答案,仍然感谢各位热心回答,小弟在此拜谢!
唉,还是自己慢慢琢磨吧。
2008-12-16 20:25
0
雪    币: 200
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
大家探讨问题,小弟留心学习
嘿嘿
不过没必要争吵,也没必要这么咄咄逼人
大家都是学习呢嘛,知道的讲出来就是了
学习~~~
2008-12-16 20:40
0
雪    币: 399
活跃值: (38)
能力值: (RANK:350 )
在线值:
发帖
回帖
粉丝
9
http://msdn.microsoft.com/en-us/library/aa365522(VS.85).aspx

这个够详细了吗?
2008-12-16 20:55
0
雪    币: 485
活跃值: (12)
能力值: ( LV9,RANK:490 )
在线值:
发帖
回帖
粉丝
10
5楼的不满足要求?
2008-12-16 21:20
0
雪    币: 796
活跃值: (370)
能力值: ( LV9,RANK:380 )
在线值:
发帖
回帖
粉丝
11
先 invoke SetFileAttributes,addr szFilePath,0

然后 invoke SetFileAttributes,addr szFilePath,FILE_ATTRIBUTE_READONLY         

不就剩下只读了?
2008-12-16 21:27
0
雪    币: 635
活跃值: (101)
能力值: ( LV12,RANK:420 )
在线值:
发帖
回帖
粉丝
12
我5楼都给你答案了~
2008-12-16 21:41
0
雪    币: 231
活跃值: (45)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
qdk
13
暴汗如雨
2008-12-16 21:46
0
雪    币: 7651
活跃值: (523)
能力值: ( LV9,RANK:610 )
在线值:
发帖
回帖
粉丝
14
5楼有答案啊~
2008-12-16 22:00
0
雪    币: 7325
活跃值: (3803)
能力值: (RANK:1130 )
在线值:
发帖
回帖
粉丝
15
楼主适合用命令行

attrib -h -s <FileName>
2008-12-16 23:04
0
雪    币: 474
活跃值: (53)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
16
这样用我当然会,我是想用API,现在问题已经解决!

多谢楼上大侠不吝赐教,小弟再次拜谢!
言语若有不当之处,还请谅解我这个粗陋之人!
2008-12-16 23:24
0
游客
登录 | 注册 方可回帖
返回
//