2017-04-15 152 views
-1

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

文件看起来是这样的:

[-HKEY_USERS\S-1-5-21-**********-********-*********-500\SomeKey\SomeSubKey] 
blah blah blah 
[-HKEY_USERS\S-1-5-21-**********-********-*********-500_Classes\SomeKey\SomeSubKey] 
[HKEY_USERS\S-1-5-21-**********-********-*********-500\SomeKey\SomeSubKey] 
blah blah blah 
[HKEY_USERS\S-1-5-21-**********-********-*********-500_Classes\SomeKey\SomeSubKey] 

和预期的结果会是这样:

[-HKEY_CURRENT_USER\SomeKey\SomeSubKey] 
blah blah blah 
[-HKEY_CURRENT_USER\Software\Classes\SomeKey\SomeSubKey] 
[HKEY_CURRENT_USER\SomeKey\SomeSubKey] 
blah blah blah 
[HKEY_CURRENT_USER\Software\Classes\SomeKey\SomeSubKey] 

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

这个想法是在行的开头搜索[HKEY[-HKEY continue unti l *-500HKEY\代替HKEY* until *-500。 当然有500和500_Classes和Software的东西,但如果给出正确的方向,我可以找出自己或做一个双重运行。 我会为此使用Notepad ++。

回答

0

查找

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

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

由于更换,这给了我很好的可视化表示它是如何工作的。 –