找回密码
 加入
搜索
查看: 1725|回复: 2

[AU3基础] [已解决]删除所有非@开头的注册表值,为什么不行?

[复制链接]
发表于 2010-11-13 23:05:44 | 显示全部楼层 |阅读模式
本帖最后由 smooth 于 2010-11-13 23:52 编辑
For $i = 1 to 1000
    $var = RegEnumVal("HKEY_CURRENT_USER\Software\Microsoft\Windows\ShellNoRoam\MUICache", $i)
    if @error <> 0 Then ExitLoop
        $result = StringLeft($var, 1)
        If Not ($result = "@") Then  RegDelete("HKEY_CURRENT_USER\Software\Microsoft\Windows\ShellNoRoam\MUICache", $var)
next
谢谢

评分

参与人数 1金钱 +10 收起 理由
afan + 10 感谢主动将修改帖子分类为[已解决],请继续 ...

查看全部评分

发表于 2010-11-13 23:47:45 | 显示全部楼层
没觉得不行…
只觉得 For $i = 1 to 1000 有点问题
 楼主| 发表于 2010-11-13 23:50:02 | 显示全部楼层
搞定了:
For $k = 1 To 1000
    For $i = 1 to 1000
        $var = RegEnumVal("HKEY_CURRENT_USER\Software\Microsoft\Windows\ShellNoRoam\MUICache", $i)
        if @error <> 0 Then ExitLoop
            $result = StringLeft($var, 1)
            If $result <> "@" Then RegDelete("HKEY_CURRENT_USER\Software\Microsoft\Windows\ShellNoRoam\MUICache", $var)
        next
        $kz = RegEnumVal("HKEY_CURRENT_USER\Software\Microsoft\Windows\ShellNoRoam\MUICache", $k)
        If $result = StringLeft($kz, 1) = "@" Then ExitLoop
Next
 
或者
 For $i = 1 to 1000
                $var = RegEnumVal("HKEY_CURRENT_USER\Software\Microsoft\Windows\ShellNoRoam\MUICache", $i)
                if @error <> 0 Then ExitLoop
                $result = StringLeft($var, 1)
                If $result= "@" Then
                Else
                        RegDelete("HKEY_CURRENT_USER\Software\Microsoft\Windows\ShellNoRoam\MUICache", $var)
                        $i=$i-1
                EndIf
        
        next
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-5-3 14:53 , Processed in 0.085689 second(s), 27 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表