DOS下批量修改文件及文件夹属性(attrib命令详解)

attrib指令用于修改文件的属性,文件的常见属性有:只读、存档、隐藏和系统

只读属性是指文件只可以做读的操作,不能对文件进行写的操作,就是文件的写保护。
存档属性是用来标记文件改动的,即在上一次备份后文件有所改动,一些备份软件在备份的时候会只去备份带有存档属性的文件。
隐藏属性顾名思义即为隐藏文件,在通常情况下,在资源管理器中不显示带有隐藏属性的文件。
系统属性是指标注文件为系统文件,是系统需要调用的文件。

attrib指令的格式和常用参数为

ATTRIB [+R | -R] [+A | -A ] [+S | -S] [+H | -H] [[drive:] [path] filename] [/S [/D]]

+ 设置属性。
- 清除属性。
R 只读文件属性。
A 存档文件属性。
S 系统文件属性。
H 隐藏文件属性。

[drive:][path][filename]
指定要处理的文件属性。
/S 处理当前文件夹及其子文件夹中的匹配文件。
/D 也处理文件夹。

隐含属性和系统属性的结合
如果文件同时具有隐含属性和系统属性,只需要一个ATTRIB信命令就可将它们全部清除。例如清除文件MAX360.TXT的的隐含属性及系统属性,可以输入以下命令:
attrib -s -h max360.txt 或者 attrib max360.txt -s -h

对一组文件的处理
同显显示或修改一组文件的属性,可使用通配符(?及*).如果文件具有隐含属性或系统属性,必须先行清除,然后才能修改它的其它属性。

修改目录的属性
可以显示或修改目录的属性。使用ATTRIB命令处理目录属性时,必须明显指定目录名,对目录名不能使用通配符。例如:要把目录c:\sunenze隐藏起来,输入以下命令:
attrib +h c:\sunenze
下一命令使用通配符,故只对文件有效,对目录不起作用。
attrib c:\*.*

文档的存档属性
文档初建或修改后均由系统赋予存档属性,文件BAKUP时,其存档属性取肖,如再修改,又赋予存档属性。所以存档属性主要用于标记那些自上一次备份以来作过修改的文件MSBACKP,RESTORE,T XCOPY命令的使用关系到这一属性。有关文件存档属性的说明,参阅MSBACKUP,RESTORE和XCOPY命令。

应用举例

显示当前目录下CNIT128的属性输入如下命令
attrib cnit128

赋予文件cnit128.txt只读属性,输入如下命令
attirb cnit128.txt +r

清除b:盘\sunenze\cnit128目录下所有文件及\sunenze\cnit128所有子目录下的文件的只读属性,输入如下命令:
attrib b:\sunenze\cnit128\*.* -s -r

举例:对D盘所有的文件和文件夹设置成隐藏那么就可以使用下面的命令:

首先在DOS下面进入系统的D盘
然后输入:

attrib -s -a +h -r /s /d

除了/s递归处理外,还要再加参数/d,表示也处理文件夹(d是directory的缩写)

“网上邻居”属性的禁止和恢复

在Windows 2000/XP/2003 Server操作系统中,有三个动态链接库文件(Netcfgx.dll、Netshell.dll和Netman.dll)与网络功能有关。只要将这三个文件注销,就能屏蔽“网络连接”窗口,也就能禁止通过“本地连接属性”对话框修改IP地址。

单击“开始”--“运行”,依次卸载这些动态链接库就可以了,命令是:

regsvr32 Netcfgx.dll /u
regsvr32 Netshell.dll /u
regsvr32 Netman.dll /u

以后,无论是单击“网上邻居”右键菜单中的“属性”,还是双击“控制面板”窗口中的“网络连接”图标(实际上图标也更改了),都无法打开“网络连接”窗口,这样就无法通过“本地连接属性”对话框来修改IP地址了。

如果要恢复此功能,只要将上述命令中的“/u”参数删除,然后重新注册一遍就行了,命令就是:

regsvr32 Netcfgx.dll
regsvr32 Netshell.dll
regsvr32 Netman.dll

“本地连接”属性被禁用的解决办法

用组策略表就可以搞定的

开始--运行,输入“gpedit.msc”, 然后依次展开“用户配置”---“管理模板”---“网络”

然后修改“禁止访问 LAN 连接的属性”为“未配置”即可。

提示:
如果启用此设置(并启用“为管理员启用网络连接设置”设置),就对所有用户禁用“属性”菜单,而且用户不能打开“局域连接属性”对话框。
如果禁用或不配置“为管理员启用网络连接设置”,此设置将不适用于 Windows 2000 以后的计算机上的管理员。