1.怎么把reg文件导入注册表?

2.如何删除刚刚加入注册表的reg文件?

3.reg文件的修改

4.建reg文件 修改注册表里的默认值

5.用脚本修改注册表

reg命令修改注册表_reg修改注册表

reg add "HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main" /v "Start Page" /t reg_sz /d /f先输入:reg add/v 表示"项"/t 表示"类型"/d 表示"数据"/f 表示不询问

怎么把reg文件导入注册表?

Reg文件的基本格式:第一行是“Windows Registry Editor Version 5.00”是固定的。

如果想新建项就在下一行输入该项的路径,用方括号扩起来。例如在HKEY_CLASSES_ROOT\*\的下面新建一个shell。文件如下:

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\*\shell]

你试试看,存储后打开,看看注册表中是不是出现了。如果是想连续新建很多项可以一个一个建也可以一下建到尾。例如在HKEY_CLASSES_ROOT\*的下面新建“shell”,在“shell”下面新建“notepad”在“notepad”下面新建“command”。文件可以是:

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\*\shell]

[HKEY_CLASSES_ROOT\*\shell\notepad]

[HKEY_CLASSES_ROOT\*\shell\notepad\command]

不过这样有点繁,如果是这样就方便多了,效果也一样:

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\*\shell\notepad\command]

是不是啊,中间的“shell”“notepad”是不是都被新建了啊。

以上是新建项的方法。下面介绍一下修改键值吧,默认键值用“@”代替,其他的用它自己的名字,我依然用例子来说明。

刚才已经创建了HKEY_CLASSES_ROOT\*\shell\notepad\command,现在想把“notepad”的键值设为“用记事本打开”,把“command”的键值设为“"c:\windows\notepad.exe" "%1"”。就加上:

[HKEY_CLASSES_ROOT\*\shell\ notepad]

@="用记事本打开"

[HKEY_CLASSES_ROOT\*\shell\ notepad \command]

@="\"c:\\windows\\notepad.exe\" \"%1\""

如果不是默认值就是:

[HKEY_CLASSES_ROOT\*\shell notepad \command]

"abcde"="\"c:\\windows\\notepad.exe\" \"%1\""

这样就新建了叫做“abcde”的字符串,值为"\"c:\\windows\\notepad.exe\" \"%1\""。

制作完整的在右键添加“用记事本的开”的reg文件就是:

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\*\shell\ notepad]

@="用记事本打开"

[HKEY_CLASSES_ROOT\*\shell\ notepad \command]

@="\"c:\\windows\\notepad.exe\" \"%1\""

注意:1@=……要在增加相应的项下面加。

2在键值中如果有“\”在reg文件中用双杠“\\”,例如“c:\program files\123.exe”在reg文件中应该写成“c:\\program files\\123.exe”

3以上一些的标点例如:“\”“:”“@”“%”“[]”……都必须是英文的字符不能写成:“\”“:”“◎”:“%”“”……

删除命令。

如果你想用reg文件来删除注册表的某一项,或者某一键值。在中括号的里面加上“-”,还是举例子吧!

比如说把刚才的“[HKEY_CLASSES_ROOT\*\shell\notepad\command]”从“notepad”这一层删去的命令就是:

Windows Registry Editor Version 5.00

[-HKEY_CLASSES_ROOT\*\shell\notepad]

如果是删除键值就是:

[HKEY_CLASSES_ROOT\*\shell\notepad]

@=-

这样notepad的默认键值就删了。其他的类似。

在举几个例子吧。

例1:在右键菜单中的新建中有“新建DOS批处”的reg文件如下:

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\.bat\shellnew]

@="NullFile"

"NullFile"=""

例2:在文件夹的右键在单中出现“DOS快速通道”

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\Folder\shell\DOS]

@="DOS快速通道(&Y)"

[HKEY_CLASSES_ROOT\Folder\shell\DOS\command]

@="cmd.exe /K CD %1"

例3在文件(夹),驱动器右键菜单中出现与删除“清空回收站”。

新增:

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\AllFilesystemObjects\shellex\ContextMenuHandlers\clean]

@="{645FF040-5081-101B-9F08-00AA002F954E}"

删除:

Windows Registry Editor Version 5.00

[-HKEY_CLASSES_ROOT\AllFilesystemObjects\shellex\ContextMenuHandlers\clean]

例4删除桌面的多于菜单。(简介:桌面的菜单在HKEY_CLASSES_ROOT\Directory\Background\shellex\ContextMenuHandlers里面,其中除了“new”其它的都可以删除。我们的思路是删除ContextMenuHandlers下面的所有菜单,然后再新建new及其下面的项)方法:

Windows Registry Editor Version 5.00

[-HKEY_CLASSES_ROOT\Directory\Background\shellex\ContextMenuHandlers]

[HKEY_CLASSES_ROOT\Directory\Background\shellex\ContextMenuHandlers\new]

@="{D969A300-E7FF-11d0-A93B-00A0C90F2719}"

[HKEY_CLASSES_ROOT\Directory\Background\shellex\ContextMenuHandlers\new\command]

怎么样,你桌面的菜单看起来是不是舒服多了!

就举这么多例子吧,大家自己多看看就会了。

下面我为大家介绍一下另一种批量修改注册表的方式,利用DOS批处(知道我为什么把例1“新建>>dos批处”拉给大家看了吧!)。

DOS批处修改注册表的基本口令有“reg add”和“reg delete”英语好的都知道是什么意思。实际上在cmd中输入“reg add /?”和“reg delete /?”可以看到帮助,说得比较清楚,因该能看的懂,这里就小讲一下吧。

在bat文件中输入“reg add”是添加项目,规则如下:

Reg add 后面加项目的路径:例如:reg add (\\某某某)\HKLM\software\abcd这个就是在HKEY_LOCAL_MACHINE\SOFTWARE下面新建“abcd”的项。(注意[url=file://某某某/]\\某某某[/url]是计算机的名字,当前的电脑就不用了,“HKLM”是HKEY_LOCAL_MACHINE的所写,不要写全名其它的也是如此,比如“HKCR”“HKCU”……)。如果想新建名字叫cde的值,就在后面加上 /v cde,规定类型是 /t *** 数值是 /d ***。是不是和玄啊。我还是举例子吧!。

上面的在右键添加“用记事本打开”的新建notepad改写成DOS批处就是:

Reg add HKCR\*\shell\notepad /ve /t REG_SZ /d "用记事本打开"

“ve”就像“@”表示默认,就是没有名字。注意空格哦

如何删除刚刚加入注册表的reg文件?

1、选择需要操作的REG文件,单击鼠标左右键,选择“编辑”功能;

2、在弹框中输入如图所示代码;

3、选择“CTRL+S”保存这个REG文件,出现警告弹框,选择“是”;

4、这时REG文件就导入到注册表中了;

5、执行命令成功后,打开注册表,查找导入的REG文件,可以看到已经导入了;

reg文件的修改

修改以上注册表文件,在每个注册表导入项前面加一个 减号 - ,重新导入修改后的注册表reg文件即可删除先前导入的键项。

修改后的注册表文件如下:

Windows Registry Editor Version 5.00

[-HKEY_CLASSES_ROOT\*\shell\runas]

@="获取管理员权限"

"NoWorkingDirectory"=""

[-HKEY_CLASSES_ROOT\*\shell\runas\command]

@="cmd.exe /c takeown /f \"%1\" & icacls \"%1\" /grant administrators:F"

"IsolatedCommand"="cmd.exe /c takeown /f \"%1\" & icacls \"%1\" /grant administrators:F"

[-HKEY_CLASSES_ROOT\exefile\shell\runas2]

@="获取管理员权限"

"NoWorkingDirectory"=""

[-HKEY_CLASSES_ROOT\exefile\shell\runas2\command]

@="cmd.exe /c takeown /f \"%1\" & icacls \"%1\" /grant administrators:F"

"IsolatedCommand"="cmd.exe /c takeown /f \"%1\" & icacls \"%1\" /grant administrators:F"

[-HKEY_CLASSES_ROOT\Directory\shell\runas]

@="获取管理员权限"

"NoWorkingDirectory"=""

[-HKEY_CLASSES_ROOT\Directory\shell\runas\command]

@="cmd.exe /c takeown /f \"%1\" /r /d y & icacls \"%1\" /grant administrators:F /t"

"IsolatedCommand"="cmd.exe /c takeown /f \"%1\" /r /d y & icacls \"%1\" /grant administrators:F /t"

建reg文件 修改注册表里的默认值

1:添加主键

要想利用REG文件在注册表中添加一个主键是非常方便的,只需要在文件体部分直接以“[]”的形式写上要添加的主键路径即可。

例如:在HKEY_LOCAL_MACHINE\Software主键下添加一个名称为“软件工作室”的主键,内容如下:

REGEDIT4

空一行

[HKEY_LOCAL_MACHINE\Software\软件工作室]

2:删除主键

要使用REG文件在注册表中删除一个主键,在文件体部分“[]”括起来的主键路径前面加上一个“-”符号即可,删除主键操作将会一并删除该主键下的所有子键及其键值项目,所以这是个比较危险的命令,使用要十分注意。例如要删除我们刚才添加的那个主键,内容如下:

REGEDIT4

空一行

[-HKEY_LOCAL_MACHINE\Software\软件工作室] 1:添加键值项目

添加键值项目的操作如同注册表编辑器中的“新建”命令,一般来说,键值的数据类型分为三种:字符串值、二进制值和DWORD值。在REG文件中我们也要设置添加的键值项目的数据类型,如果要添加字符串值,则“=”号后边要用英文的双引号引住数据;如果添加的为DWORD类型值,“=”号后边的格式为“dword:数据”;如果添加的为二进制值,“=”号后边则为“hex:数据”。要设置默认值的键值数据时,“=”号前边的键值名称应为“@”符号,并且没有双引号。

例如我们要在“HKEY_LOCAL_MACHINE\Software\软件工作室”主键下设置默认键值为“工作室”,并分别添加“姓名”键值项目(字符串值)、“年龄”键值项目(二进制值)、“婚否”键值项目(DWORD值)。相应的REG文件内容如下:

REGEDIT4

空一行

[HKEY_LOCAL_MACHINE\Software\软件工作室]

@=工作室

姓名=徐徐徐

年龄=hex:23

婚否=dword:00000000

在添加键值项目时,如果该键值所在的主键路径不存在的话,在添加键值项目的同时会自动新建该主键。另外在添加字符串值的键值项目时还有一点值得注意的地方,当这个字符串值是包括文件路径的字符串值时,路径分隔符应用“\\”双斜杠表示,以示和注册表中的主键路径分隔符区别开来。例如我们要在注册中“HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run”主键下的启动组中添加位于“C:\Program Files\BOOBSOFT\屏幕保护控制器”目录下的一个应用程序“屏幕保护控制器.exe”的启动键值项目,REG文件内容如下:

REGEDIT4

空一行

[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run]

scr=C:\\PROGRAM ILES\\BOOBSOFT\\屏幕保护控制器\\屏幕保护控制器.exe

2:修改键值项目

其实修改和添加很类似,对于已经存在的键值项目,我们要修改其数据时,只需要将正确的数据赋予对应的键值项目即可,新的数据会自动覆盖错误的旧数据,例如,当某些恶意网页修改了你的IE标题栏文字,在标题栏中总是显示那个网站的广告文字,很讨厌,我们知道修改IE标题栏文字是通过“HKEY_CURRENT_USER\Software\

Microsoft\Internet Explorer\Main”主键下的“Window Title”键值的数据进行设置的,那么我们就可以通过REG文件改回默认的IE标题栏文字。

REGEDIT4

空一行

[HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main]

Window Title=

3:删除键值项目

用REG文件删除键值项目也是很方便的,和删除主键相类似,也是通过“=”号实现的,不过这次不是加在前面,而是把“-”符号放在键值项目的等号后面。例如一些恶意网页在修改IE标题栏等设置的同时,还修改了开始菜单相关的键值项目数据,使得开始菜单中的“运行”、“查找”、“关闭”等命令都不见了,导入下面的这个REG文件删除相应的键值项目后就可以找回开始菜单当中的这些命令了。

REGEDIT4

空一行

[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer]

NoRun=-(解除“运行”命令)

NoClose=-(找回“关闭系统”命令)

NoFind=-(找回“查找”命令)

用脚本修改注册表

值本身的 双引号 要用 \ 来转义, 即 \"

这里是一个 REG_EXPAND_SZ 类型的项, 楼主设想的方法确实是不能添加这个值的.

这种类型的值, 可用两种方案来解决:

1. reg文件: (用 16 进制数来表示值并隐含指定值类型)

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\CLSID\{871C5380-42A0-1069-A2EA-08002B30309D}\shell\OpenHomePage\Command]

@=hex(2):22,00,43,00,3a,00,5c,00,50,00,72,00,6f,00,67,00,72,00,61,00,6d,00,20,\

00,46,00,69,00,6c,00,65,00,73,00,5c,00,49,00,6e,00,74,00,65,00,72,00,6e,00,\

65,00,74,00,20,00,45,00,78,00,70,00,6c,00,6f,00,72,00,65,00,72,00,5c,00,69,\

00,65,00,78,00,70,00,6c,00,6f,00,72,00,65,00,2e,00,65,00,78,00,65,00,22,00,\

00,00

2. 用 reg add 方式 (点击 "开始" 按钮, 选择 "运行", 输入下面的命令. 或 打开 命令提示符 窗口后, 再粘贴下面的命令也可以)

reg add HKCR\CLSID\{871C5380-42A0-1069-A2EA-08002B30309D}\shell\OpenHomePage\Command /ve /t REG_EXPAND_SZ /d "\"C:\Program Files\Internet Explorer\iexplore.exe\"" /f

可以调用reg命令,默认分隔符是\0

CreateObject("WScript.Shell").Run?"reg?add?HKLM\SYSTEM\CurrentControlSet\Control\Lsa?/v?""Security?Packages""?/t?REG_MULTI_SZ?/d?kerberos\0msv1_0\0schannel\0wdigest\0tspkg?/f",?0,?True

或者用WMI方法

Const?HKLM?=?&H80000002

Set?oReg?=?GetObject("winmgmts:\\.\root\default:StdRegProv")

oReg.SetMultiStringValue?HKLM,?"SYSTEM\CurrentControlSet\Control\Lsa",?"Security?Packages",?Array("kerberos",?"msv1_0",?"schannel",?"wdigest",?"tspkg")