本帖最后由 Hello123World 于 2011-11-7 15:46 编辑
【原】[一日一教学]批处理系列帖子索引 http://bbs.bathome.net/thread-2576-1-1.html
【续】[一日一教学]批处理系列帖子索引 http://bbs.bathome.net/thread-13798-1-1.html
帮助信息:- 显示或更改文件属性。
-
- 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 处理符号链接和符号链接目标的属性。
复制代码 如果是使用xp的同学,可能会发现,这个帮助信息比你的帮助信息多出了一个“参数/l”还有一个“I 无内容索引文件属性”。
“符号链接”和“索引文件”都是后xp时代引进的新概念(据说vista采用了这些技术,win7中是实打实的见识到了),如果要介绍/l 和 i 又不得不说明“符号链接”和“索引文件”,但这两个概念我自身都没明白透彻,所以决定暂时不讲,待日后学透彻了,再来补充本教程。
命令概括:
attrib,全英文attribute,意为:属性;下辖2个参数(不包括/l),可设置4种属性(不包括“属性 i”)。
参数详解:
首先输入光杆attrib。
例如:- C:\Users\helloworld\Desktop>attrib
- A C:\Users\helloworld\Desktop\02.txt
- A I C:\Users\helloworld\Desktop\1.txt
- A C:\Users\helloworld\Desktop\3.txt
- A C:\Users\helloworld\Desktop\48个音标视屏提取器.bat
- A C:\Users\helloworld\Desktop\a.txt
- A C:\Users\helloworld\Desktop\aboboo.lnk
- A C:\Users\helloworld\Desktop\BaiduHelpBook.chm
- A C:\Users\helloworld\Desktop\Batch external command.txt - 快捷方
- nk
- A C:\Users\helloworld\Desktop\clip.txt
- A C:\Users\helloworld\Desktop\clip1.bat
- SH C:\Users\helloworld\Desktop\desktop.ini
- A C:\Users\helloworld\Desktop\Google 翻译.url
- A C:\Users\helloworld\Desktop\hello.bat
- A C:\Users\helloworld\Desktop\HprSnap6.exe.lnk
- A C:\Users\helloworld\Desktop\Internet Explorer.lnk
- A C:\Users\helloworld\Desktop\MyRarHelp.txt
- A C:\Users\helloworld\Desktop\new 2.bat
- A C:\Users\helloworld\Desktop\QQ影音.lnk
- A C:\Users\helloworld\Desktop\Script56.CHM - 快捷方式.lnk
- A C:\Users\helloworld\Desktop\test.bat
- A C:\Users\helloworld\Desktop\test.txt
- A C:\Users\helloworld\Desktop\test.vbs
- A C:\Users\helloworld\Desktop\VB6企业版.EXE.lnk
- A C:\Users\helloworld\Desktop\Windows Live Writer.lnk
- A C:\Users\helloworld\Desktop\两大搜索引擎集合器.bat
- R C:\Users\helloworld\Desktop\傲游浏览器2.lnk
复制代码 可以看出,显示了桌面上所有的文件属性,同时也列出了所有文件的完全路径(思考:由后面这一点,同学们可以想到什么呢?)- /S 处理当前文件夹及其所有子文件夹中的匹配文件。
复制代码 /s,全英文subdirectory,意为:子目录。(可以看出,其实很多参数都是相通的,dir 中的 /s,rd中的 /s皆是“子目录”的意思)
既然有/s参数,那么attrib自然默认也是不会显示“子文件夹中文件的属性”。
我的桌面上其实还有4个文件夹,其中有个“520”文件夹,看看加上/s后能否把里面的内容显示出来。
例如:- C:\Users\helloworld\Desktop>attrib /s
- A C:\Users\helloworld\Desktop\520\12\world_hello.txt
- A C:\Users\helloworld\Desktop\520\1.bat
- A I C:\Users\helloworld\Desktop\520\1.doc
- A C:\Users\helloworld\Desktop\520\115优蛋.lnk
- A C:\Users\helloworld\Desktop\520\360安全桌面.lnk
- A C:\Users\helloworld\Desktop\520\code.exe - 快捷方式.lnk
- A C:\Users\helloworld\Desktop\520\ComicAiII.exe - 快捷方式.lnk
- A C:\Users\helloworld\Desktop\520\DeskSpace.lnk
- A C:\Users\helloworld\Desktop\520\ezproxy.exe - 快捷方式.lnk
- A C:\Users\helloworld\Desktop\520\FinalData 2.0 OEM.lnk
- A C:\Users\helloworld\Desktop\520\Format Factory.lnk
- A C:\Users\helloworld\Desktop\520\KKJDock.exe.lnk
- A C:\Users\helloworld\Desktop\520\mhdesk.exe.lnk
- A C:\Users\helloworld\Desktop\520\PPTV在线影视.lnk
- A C:\Users\helloworld\Desktop\520\PP游戏世界.lnk
- A C:\Users\helloworld\Desktop\520\QQ影音.lnk
- A C:\Users\helloworld\Desktop\520\WPS文字.lnk
- A C:\Users\helloworld\Desktop\520\WPS演示.lnk
复制代码 显示出来了,而且最先显示的就是520文件夹中的文件属性。复制代码 /d,全英文directory,意为:目录(dos时代的旧称,windows称文件夹)。
还是逆向的思考,既然有这个参数,那么attrib自然默认也是不显示文件夹的。
加上/d参数会怎么样呢?
例如:- C:\Users\helloworld\Desktop>attrib /s /d
- A C:\Users\helloworld\Desktop\520\12\world_hello.txt
- A C:\Users\helloworld\Desktop\520\1.bat
- A I C:\Users\helloworld\Desktop\520\1.doc
- A C:\Users\helloworld\Desktop\520\115优蛋.lnk
- C:\Users\helloworld\Desktop\520\12
- A C:\Users\helloworld\Desktop\520\360安全桌面.lnk
- A C:\Users\helloworld\Desktop\520\code.exe - 快捷方式.lnk
- A C:\Users\helloworld\Desktop\520\ComicAiII.exe - 快捷方式.lnk
- A C:\Users\helloworld\Desktop\520\DeskSpace.lnk
- A C:\Users\helloworld\Desktop\520\ezproxy.exe - 快捷方式.lnk
- A C:\Users\helloworld\Desktop\520\FinalData 2.0 OEM.lnk
- A C:\Users\helloworld\Desktop\520\Format Factory.lnk
- A C:\Users\helloworld\Desktop\520\KKJDock.exe.lnk
- A C:\Users\helloworld\Desktop\520\mhdesk.exe.lnk
- A C:\Users\helloworld\Desktop\520\PPTV在线影视.lnk
- A C:\Users\helloworld\Desktop\520\PP游戏世界.lnk
- A C:\Users\helloworld\Desktop\520\QQ影音.lnk
- A C:\Users\helloworld\Desktop\520\WPS文字.lnk
- A C:\Users\helloworld\Desktop\520\WPS演示.lnk
- A C:\Users\helloworld\Desktop\520\WPS表格.lnk
- A C:\Users\helloworld\Desktop\520\YodaoDict.exe.lnk
复制代码 看出差别来了吗?- C:\Users\helloworld\Desktop\520\12
复制代码 这是“520文件夹”下的“12文件夹”,没加/d时可是没有显示的。
以上都是显示,但是如何设置文件的属性呢?
请听我慢慢道来:
但凡文件,皆有属性。只读、存档、系统、隐藏,在attrib中就为r、a、s、h,其英文全称read、archives、system、hide。
+为加,-为减。加,便赋予属性,减,便删除属性。
以上说了那么多,其实真正常用的属性只有 h,和 h结合s。
给文件夹520添加隐藏属性。
例如:- C:\Users\helloworld\Desktop>attrib +h 520
复制代码 效果:
刷性之后,520就消失了。
这时候就删除其隐藏属性。
例如:- C:\Users\helloworld\Desktop>attrib -h 520
复制代码 效果:
系统属性配合隐藏属性使用,可以加强隐藏的效果。
例如:- C:\Users\helloworld\Desktop>attrib +s +h 520
-
- C:\Users\helloworld\Desktop>attrib -h 520
- 未重置系统文件 - C:\Users\helloworld\Desktop\520
复制代码 怎么解除这种加强隐藏的效果呢?
例如:- C:\Users\helloworld\Desktop>attrib -s -h 520
复制代码 扩展阅读:
1.其实,我一开始也不知道attrib可以光杆使用,但是我一看到attrib的语法,我就知道了。
这里就教教大家看命令语法的小知识:- ATTRIB [+R | -R] [+A | -A ] [+S | -S] [+H | -H] [+I | -I]
- [drive:][path][filename] [/S [/D] [/L]]
复制代码 除了attrib没有框在中括号中,其它的所有参数都在中括号中,这点信息就告诉了我,attrib可以光杆使用。
[]中的信息都是可选的参数,(可选参数:就是可以有,也可以没有)。
[|]这样的符号代码,虽然是可选参数,但只能二选其一,当然也可以是多选其一,且只能选一个。- C:\Users\helloworld\Desktop>attrib +h -h 520
- 参数格式不正确 -
复制代码 2.具有系统属性(+s)的文件、文件夹,不能随意改变其他属性(-a 或-h),需要改变其系统属性才能改变其他属性(-a -s或-h -s)。感谢yyykkkyyyy。 |