正则表达式注册表替换



我有一堆Windows注册表.reg文件,想对它们进行一些更改,用HKCU替换SID。

文件如下所示:

[-HKEY_USERSS-1-5-21-**********-********-*********-500SomeKeySomeSubKey]
blah blah blah
[-HKEY_USERSS-1-5-21-**********-********-*********-500_ClassesSomeKeySomeSubKey]
[HKEY_USERSS-1-5-21-**********-********-*********-500SomeKeySomeSubKey]
blah blah blah
[HKEY_USERSS-1-5-21-**********-********-*********-500_ClassesSomeKeySomeSubKey]

预期结果将是这样的:

[-HKEY_CURRENT_USERSomeKeySomeSubKey]
blah blah blah
[-HKEY_CURRENT_USERSoftwareClassesSomeKeySomeSubKey]
[HKEY_CURRENT_USERSomeKeySomeSubKey]
blah blah blah
[HKEY_CURRENT_USERSoftwareClassesSomeKeySomeSubKey]

基本上知道应该做什么,但由于正则表达式不是我的语言,也许有人会帮助我:)

这个想法是在行的开头搜索[HKEY[-HKEY一直持续到*-500HKEY* until *-500替换为 HKEY 。当然有 500 vs 500_Classes 和软件的事情,但如果给出正确的方向,我可以自己弄清楚或做双运行。我会为此使用记事本++。

查找

[(-)?HKEY_USERS\S-1-5-21-.{10}-.{8}-.{9}-500(_Classes)?(.*)

并替换为

[$1HKEY_CURRENT_USER(?{2}\Software\Classes)$3

最新更新