原文地址:CMD中使用attrib命令设置文件只读、隐藏属性详解
本文介绍一个cmd下的一个attrib.exe的小程序,它可以用来设置文件的属性。我们知道文件的属性有只读、隐藏、系统、存档和无内容索引等5个,只读和隐藏用得比较多,另外三个用得比较少。
不知道大家有没有用过attrib.exe这个cmd下的小程序,它可以用来设置文件的属性。先来看看它的帮助文件。
C:\Users\splaybow>help attrib
显示或更改文件属性。
ATTRIB [+R | -R] [+A | -A ] [+S | -S] [+H | -H] [+I | -I]
[drive:][path][filename] [/S [/D] [/L]]
+ 设置属性。
- 清除属性。
R 只读文件属性。
A 存档文件属性。
S 系统文件属性。
H 隐藏文件属性。
I 无内容索引文件属性。
[drive:][path][filename]
指定 attrib 要处理的文件。
/S 处理当前文件夹及其所有子文件夹中的匹配文件。
/D 也处理文件夹。
/L 处理符号链接和符号链接目标的属性。
我们用一个例子来看看如何使用attrib设置文件的属性。
第一步,先使用echo命令来创建一个文件:d:\2.txt
C:\Users\splaybow>echo xxxx>d:\2.txt
创建文件成功后,将不会有任何提示。
第二步,为d:\2.txt文件添加一个隐藏属性和一个只读属性。
C:\Users\splaybow>attrib +r +h d:\2.txt
设置文件属性成功后,也不会有任何提示。
第三步,显示d:\2.txt的文件属性。
C:\Users\splaybow>attrib d:\2.txt A HR D:\2.txt
我们可以看到当前文件中存在存档(A)、隐藏(H)、R(只读)三种属性。这里大家可能想问,为什么会有存档(A)属性的存在呢?这个洪哥也解释不了,估计在使用echo创建文件时,文件就已经有存档(A)属性了。
第四步,我再来看看把存档、隐藏、只读、系统、无内容索引五个属性全部加上的效果。
C:\Users\splaybow>attrib +a +s +r +i +h d:\2.txt
设置文件属性成功后,不会有任何提示。
第五步,查看一下最后的文件属性
C:\Users\splaybow>attrib d:\2.txt
A SHR I D:\2.txt
这样看到了,五个属性全部上去了。
最后洪哥总结如下几点:
1、如果要给文件加属性使用“attrib +标记1 +标记2 ... <文件路径和名称>”这样的语法格式。
2、如果要给文件去掉一些属性,把第1条中的加号(+)换成减号(-)即可。
3、如果要查看当前文件有存档、隐藏、只读、系统、无内容索引五种属性中的哪些,可以使用“attrib <文件路径和名称>”这样的语法格式。
4、这些属性有什么意义呢?隐藏就是隐藏起来,但使用显示隐藏的开关还可以看得到。加了系统属性后,显示隐藏也看不到,必须要显示系统文件才能看到。只读代表不能修改和删除,但有一些命令可以强制删除或修改只读文件。
5、以下三条命令说明,如果文件同时有系统属性和隐藏属性,如果想要去掉其中一个,必须两个先同时都去掉。
PS C:\Users\splaybow> attrib -h d:\2.txt
未重置系统文件 - D:\2.txt
PS C:\Users\splaybow> attrib -s d:\2.txt
未重置隐藏文件 - D:\2.txt
PS C:\Users\splaybow> attrib -s -h d:\2.txt