自动去除所有目录的隐藏属性的DOS命令
最近老婆的U盘感染病毒, 根目录下的所有子目录均被设置成隐藏和系统属性. 可以采用如下命令修改:
ATTRIB -H -S <文件夹名称>
手动一个一个修改是可以的, 可是老婆嫌麻烦, 要我给她个更简单的方法, 最好动动鼠标就好, 呵呵, 这还不是小菜一碟.
问题分两部分解决:
1)如何得到这些目录名
可以通过DOS命令DIR取得:
DIR /A:H /A:S /B
注意此处要使用/B参数, 这样仅输出目录名字符串
2)如何解析DIR命令输出的结果
那就要动用终极武器, for命令:
for %F %%i in (...) DO ...
其中括弧内的"..."表示任意命令, for命令会解析括弧内命令的输出结果, 并将每一个字符串保存在%%i中.
完整的命令行如下:
ATTRIB -H -S <文件夹名称>
手动一个一个修改是可以的, 可是老婆嫌麻烦, 要我给她个更简单的方法, 最好动动鼠标就好, 呵呵, 这还不是小菜一碟.
问题分两部分解决:
1)如何得到这些目录名
可以通过DOS命令DIR取得:
DIR /A:H /A:S /B
注意此处要使用/B参数, 这样仅输出目录名字符串
2)如何解析DIR命令输出的结果
那就要动用终极武器, for命令:
for %F %%i in (...) DO ...
其中括弧内的"..."表示任意命令, for命令会解析括弧内命令的输出结果, 并将每一个字符串保存在%%i中.
完整的命令行如下:
@ECHO 去除当前目录下文件夹的隐藏属性
@ECHO 隐藏的目录如下:
DIR /A:H /A:S /B
@ECHO.
@ECHO 正在去除属性
@ECHO OFF
FOR /F %%i IN ('DIR /A:H /A:S /B') DO ATTRIB -H -S %%i
@ECHO.
PAUSE
@ECHO 隐藏的目录如下:
DIR /A:H /A:S /B
@ECHO.
@ECHO 正在去除属性
@ECHO OFF
FOR /F %%i IN ('DIR /A:H /A:S /B') DO ATTRIB -H -S %%i
@ECHO.
PAUSE
posted on 2009-07-21 21:13 codezhang 阅读(2055) 评论(2) 编辑 收藏 举报