Board logo

标题: [已解决的问题]去掉隐藏文件夹隐藏属性的批处理 [打印本页]

作者: Auto     时间: 2008-5-15 17:33    标题: [已解决的问题]去掉隐藏文件夹隐藏属性的批处理

求显示隐藏文件夹的批处理
近期U盘老是中毒 导致里面的文件夹都被隐藏了
怎么用个批处理去掉这些文件夹的隐藏属性..
顺便给点解释 本人批处理学了一点点 但很菜..

[ Last edited by Auto on 2008-5-17 at 09:46 AM ]
作者: pooronce     时间: 2008-5-15 19:21
dir /a
attrib -s -h -r
作者: Auto     时间: 2008-5-15 19:27


  Quote:
Originally posted by pooronce at 2008-5-15 07:21 PM:
dir /a
attrib -s -h -r

这个我知道 比较麻烦
想要个自动化程度高的批处理
能够一运行就把当前目录下所有隐藏文件夹都给显示出来
作者: HAT     时间: 2008-5-15 19:35
不是文件夹被隐藏了,而是注册表被修改了。
将以下代码保存为ShowAll.reg,双击导入注册表即可查看隐藏文件。
Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Folder\Hidden\NOHIDDEN]
"RegPath"="Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\Advanced"
"Text"="@shell32.dll,-30501"
"Type"="radio"
"CheckedValue"=dword:00000002
"ValueName"="Hidden"
"DefaultValue"=dword:00000002
"HKeyRoot"=dword:80000001
"HelpID"="shell.hlp#51104"
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Folder\Hidden\SHOWALL]
"RegPath"="Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\Advanced"
"Text"="@shell32.dll,-30500"
"Type"="radio"
"CheckedValue"=dword:00000001
"ValueName"="Hidden"
"DefaultValue"=dword:00000002
"HKeyRoot"=dword:80000001
"HelpID"="shell.hlp#51105"
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Folder\SuperHidden]
"Type"="checkbox"
"Text"="@shell32.dll,-30508"
"WarningIfNotDefault"="@shell32.dll,-28964"
"HKeyRoot"=dword:80000001
"RegPath"="Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\Advanced"
"ValueName"="ShowSuperHidden"
"CheckedValue"=dword:00000000
"UncheckedValue"=dword:00000001
"DefaultValue"=dword:00000000
"HelpID"="shell.hlp#51103"
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Folder\SuperHidden\Policy]
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Folder\SuperHidden\Policy\DontShowSuperHidden]

作者: Auto     时间: 2008-5-16 15:10
我想要去掉这些文件夹的隐藏属性啊..
继续求助
还是谢谢楼上的
作者: HAT     时间: 2008-5-16 15:16


  Quote:
Originally posted by Auto at 2008-5-16 03:10 PM:
我想要去掉这些文件夹的隐藏属性啊..
继续求助
还是谢谢楼上的


@echo off
set SrcDir=C:\test
for /f "tokens=1* delims=" %%a in ('dir /s /b /ad "%SrcDir%"') do (
  attrib -h -s -a -r "%SrcDir%\%%a"
)

作者: knoppix7     时间: 2008-5-16 22:53
dir /AHD /s /b
然后参照LS的代码加FOR
作者: Auto     时间: 2008-5-17 09:27


  Quote:
@echo off
set SrcDir=D:\Tools\test
for /f "tokens=1* delims=" %%a in ('dir /AHD /s /b "%SrcDir%"') do (
  attrib -h -s -a -r "%SrcDir%\%%a"
)
pause

我运行上面那个 出现下面的提示

  Quote:
找不到路径 - D:\Tools\test\D:\Tools\test
找不到路径 - D:\Tools\test\D:\Tools\test
找不到路径 - D:\Tools\test\D:\Tools\test
找不到路径 - D:\Tools\test\D:\Tools\test
请按任意键继续. . .

经摸索 才发现..
dir那句应该要去掉/s这个参数..


还求某位来改进一下
就是把这个批处理放到那个文件夹下 运行后就能去掉当前文件夹里的隐藏文件夹的隐藏属性
就是怎么把变量SrcDir的值换成当前路径..

[ Last edited by Auto on 2008-5-17 at 09:29 AM ]
作者: Auto     时间: 2008-5-17 09:44
经上面各位的指导和本人的摸索
我要的批处理应该这样吧

  Quote:
:: 去掉当前文件夹里子文件夹的隐藏属性
@echo off
for /f "tokens=1* delims=" %%a in ('dir /adh /b') do (
  attrib -h -s -a -r ".\%%a"
)

谢谢上面各位仁兄.

[ Last edited by Auto on 2008-5-17 at 09:46 AM ]
作者: cisheng97     时间: 2009-12-16 00:26
hao tie
作者: jarry0932     时间: 2009-12-16 01:44
先用4楼的,把注册表改好,显示出所有的隐藏文件及系统文件,再直接把隐藏的文件拖到这个批处理上:
attrib -s -h %1
简单明了
作者: cisheng97     时间: 2009-12-16 21:19
好贴     对自己很有帮助