无忧启动论坛

标题: 请教一个修改注册表问题(感谢 pznpt !) [打印本页]

作者: 2011xiaobing    时间: 2013-4-17 11:23
标题: 请教一个修改注册表问题(感谢 pznpt !)
本帖最后由 2011xiaobing 于 2013-4-17 23:21 编辑

问题:求一批处理,把注册表HKLM\MYREG 下所有 字符 C:\  替换成 字符 X:\
谢谢!


作者: pznpt    时间: 2013-4-17 18:27
  1. @echo off
  2. reg export "HKLM\MYREG" "%temp%\$$"
  3. reg delete "HKLM\MYREG" /f
  4. (for /f "delims=" %%a in ('find /n /v ""^<"%temp%\$$"') do (
  5.    set "str=%%a"
  6.    setlocal enabledelayedexpansion
  7.    set "str=!str:c:\=X:\!"
  8.    set "str=!str:*]=!"
  9.    echo,!str!
  10.    endlocal
  11. ))>"%temp%\$$.reg"
  12. reg import "%temp%\$$.reg"
  13. del "%temp%\$$.*"
  14. pause
复制代码
可以参考:http://www.bathome.net/viewthread.php?tid=20173&rpid=120828
Win7以上系统右键以管理员权限运行

作者: 2011xiaobing    时间: 2013-4-17 20:02
感谢尊敬的 pznpt 大师的指点!!!
反馈:
    在测试过程中,由于导出的注册表有几十M之巨,
现在批处理已运行40多分钟,还没结果,不知什么原因。
作者: 2011xiaobing    时间: 2013-4-17 20:12
目前只运行到这一步。

Snap1.jpg (139.79 KB, 下载次数: 55)

Snap1.jpg

作者: 2011xiaobing    时间: 2013-4-17 20:17
能不能只导出 只含有C:\ 的部分,这样的注册表只有2M。

作者: 2011xiaobing    时间: 2013-4-17 20:24
终于运行结束!



但原注册表已完全被破坏。
作者: 2011xiaobing    时间: 2013-4-17 20:35
本帖最后由 2011xiaobing 于 2013-4-17 20:36 编辑

看来用纯CMD替换大量的字符不理想。
能利用第三方字符替换软件解决这个问题吗?
(如:FR.EXE--------FIND_REPLACE)。
由于导出的注册表是unicode编码格式,
要是转换成utf-8格式,字符转换就是秒杀。

还请大师指点!!!
作者: pznpt    时间: 2013-4-17 21:27
本帖最后由 pznpt 于 2013-4-17 21:50 编辑

咋不早说有那么大呢?
1.需要第三方工具:http://www.bathome.net/thread-16975-1-1.html
  1. @echo off
  2. reg export "HKLM\MYREG" "%temp%\$$"
  3. reg delete "HKLM\MYREG" /f
  4. type "%temp%\$$"|sed "s/[Cc]:\\/X:\\/g" > "%temp%\$$.reg"
  5. reg import "%temp%\$$.reg"
  6. del "%temp%\$$.*"
  7. pause
复制代码
2.自己先导出注册表为back.reg,删除原注册表"HKLM\MYREG",运行下面的vbs,再手工将生成的abc.reg导入
  1. Set fso = CreateObject("Scripting.FileSystemObject")
  2. text = fso.OpenTextFile("back.reg",1,True,-1).ReadAll

  3. With New RegExp
  4.     .Pattern = "c:\"
  5.     .Global = True
  6.     .IgnoreCase = True
  7.     text = .Replace(text,"X:")
  8. End With

  9. fso.OpenTextFile("abc.reg",2,True,-1).Write text
  10. MsgBox "OK"
复制代码

作者: 2011xiaobing    时间: 2013-4-17 23:20
呵呵,测试成功!
多谢大师!

结帖!




欢迎光临 无忧启动论坛 (http://bbs.wuyou.net/) Powered by Discuz! X3.3