如何从文件中删除单个属性(例如只读)?
假设一个文件具有以下属性:只读、隐藏、存档、系统
。 如何仅删除一个属性?(例如 ReadOnly)
如果我使用以下内容,它将删除所有属性:
IO.File.SetAttributes("File.txt",IO.FileAttributes.Normal)
Let say, a file has the following attributes: ReadOnly, Hidden, Archived, System
.
How can I remove only one Attribute? (for example ReadOnly)
If I use the following, it removes all the attributes:
IO.File.SetAttributes("File.txt",IO.FileAttributes.Normal)
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(8)
回答标题中有关
ReadOnly
属性的问题:要自己控制任何属性,您可以使用
File.SetAttributes()
方法。该链接还提供了一个示例。Answering on your question in title regarding
ReadOnly
attribute:To get control over any attribute yourself you can use
File.SetAttributes()
method. The link also provides an example.来自 MSDN:您可以删除任何属性,例如 (但是
@sll 对 ReadOnly 的回答更适合该属性)
From MSDN: You can remove any attribute like this
(but @sll's answer for just ReadOnly is better for just that attribute)
对于单行解决方案(假设当前用户有权更改上述文件的属性),我将这样做:
VB.Net
负号表示
删除< /code> 和
r
是只读的。如果您还想删除其他属性,您可以这样做:
这将删除只读、系统文件、隐藏和存档属性。
如果您想归还这些属性,请按以下方法操作:
顺序并不重要。
C#
参考
For a one line solution (provided that the current user has access to change the attributes of the mentioned file) here is how I would do it:
VB.Net
the negative sign means to
remove
and ther
is for read-only.if you want to remove other attributes as well you would do:
That will remove the Read-Only, System-File, Hidden and Archive attributes.
if you want to give back these attributes, here is how:
the order does not matter.
C#
References
例子:
Example:
这些示例中有很多代码,如果您想要一个简单的解决方案(没有 Shell):
Lots of code in these examples, if you want a simple solution(without Shell):
使用此:
在 MSDN 中阅读详细信息:http:// msdn.microsoft.com/en-us/library/system.io.file.setattributes.aspx
Use this:
Read detail here in MSDN: http://msdn.microsoft.com/en-us/library/system.io.file.setattributes.aspx