真正的注册表命令,管理注册表 regedit
注册表命令在不用的编程语言中有不同的操作,这里我们以批处理,vbs等为例
批处理 注册表 可以用Dos命令 reg.exe 进行操作。
批处理修改注册表方法
双击Reg文件可以导入注册表,
那么如何删除注册表的键值和分支呢?
可以用Dos命令 reg.exe 来删除。举例如下:
假如我要清除WinRAR的历史记录,可以新建个批处理文件,
然后在里面加入如下文字:
reg delete HKEY_CURRENT_USER\Software\WinRAR\DialogEditHistory\ExtrPath /va /f
reg delete HKEY_CURRENT_USER\Software\WinRAR\DialogEditHistory\ArcName /va /f
reg delete HKEY_CURRENT_USER\Software\WinRAR\ArcHistory /va /f
其中/va参数是指删除该分支下的所有键值,/f参数是指不要跳出提示。
----------------------------------------------------------------------------------------------------
如果想删除整个分支,就不要加/va,
例如:reg delete HKEY_CURRENT_USER\Software\CrocWare
----------------------------------------------------------------------------------------------------
如果想删除某个键值,就用 reg delete (分支) /v (键值)
例如:
reg delete HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\TrayNotify /v PastIconsStream /f
------------------------------------------------------------------------------------------------
要注意:
如果注册表中有空格,应用双引号括住注册表;
如果注册表中有%,就用%%来表示;
例如:要清除Alcohol 120%的历史记录,可以在批处理中加入如下命令:
reg delete "HKEY_CURRENT_USER\Software\Alcohol Soft\Alcohol 120%%\Basic" /v "Image File Path" /f
reg delete "HKEY_CURRENT_USER\Software\Alcohol Soft\Alcohol 120%%\MountedMRU" /f
更多命令请按 reg /?
1.禁用IMAPi光盘刻录服务
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\ImapiService]
"Start"=dword:00000004
ASTO:XX.reg
2.
echo Windows Registry Editor Version 5.00 >regfile.reg
echo [HKEY_CURRENT_USER\SOFTWARE\MICROSOFT\WINDOWS\CURRENTVERSION\RUN] >>regfile.reg
rem 下面的的句子表示删除deletekey键
echo "deletekey"=- >>regfile.reg
rem 下面的的句子表示删除增加或修改addkey键
echo addkey="yourpath\yourfile.exe" >>regfile.reg
regedit -s regfile.reg
del regfile.reg
3.
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\ComputerName\ComputerName" /v Start /t REG_DWORD /d 00000004 /f
reg add "HKEY_CURRENT_USER\Control Panel\Desktop" /v MenuShowDelay /t REG_SZ /d 0 /f
:ASTO XX.bat
可以用Dos命令 reg.exe 来删除。举例如下:
假如我要清除WinRAR的历史记录,可以新建个批处理文件,
然后在里面加入如下文字:
reg delete HKEY_CURRENT_USER\Software\WinRAR\DialogEditHistory\ExtrPath /va /f
reg delete HKEY_CURRENT_USER\Software\WinRAR\DialogEditHistory\ArcName /va /f
reg delete HKEY_CURRENT_USER\Software\WinRAR\ArcHistory /va /f
其中/va参数是指删除该分支下的所有键值,/f参数是指不要跳出提示。
-------------------------------------------------------------------------------------
如果想删除整个分支,就不要加/va,
例如:reg delete HKEY_CURRENT_USER\Software\CrocWare
-------------------------------------------------------------------------------------
如果想删除某个键值,就用 reg delete (分支) /v (键值)
例如:
reg delete HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\TrayNotify /v PastIconsStream /f
-------------------------------------------------------------------------------------
要注意:
如果注册表中有空格,应用双引号括住注册表;
如果注册表中有%,就用%%来表示;
例如:要清除Alcohol 120%的历史记录,可以在批处理中加入如下命令:
reg delete "HKEY_CURRENT_USER\Software\Alcohol Soft\Alcohol 120%%\Basic" /v "Image File Path" /f
reg delete "HKEY_CURRENT_USER\Software\Alcohol Soft\Alcohol 120%%\MountedMRU" /f
VBS删除注册表键值的问题首先是WshShell对象。该对象可用来设置系统环境变量以及修改注册表的数据。要修改注册表的数据,需要使用WshShell对象的三种方法: RegDelete(删除注册表数据)、RegWrite(写入或新建注册表数据)和 RegRead(读取注册表数据)。
通常我们只需要用到前两种方法,它们具体的使用方法如下:
一、RegWrite(写入或新建注册表数据)
* 新建子主键
语法为:WshShell.RegWrite "子主键名\"
例如,我们想新建一个子主键“HKEY_CURRENT_USER\MyReg”,可使用如下的语句:
WshShell.RegWrite "HKCU\MyReg\"
说明:子主键名必须以反斜线 (\) 结束,若不小心忘记输入了这个(\),则该方法返回的是键值,即表示你是想在 HKEY_CURRENT_USER\下建立了一个名叫MyReg的键值了。这一点一定要十分注意!
注意引号里子主键的开头必须是下列根键名之一:
HKEY_CURRENT_USER(可简写为HKCU)、HKEY_LOCAL_MACHINE (HKLM)、HKEY_CLASSES_ROOT(HKCR)、 HKEY_USERS和HKEY_CURRENT_CONFIG
* 在子主键下建立新的键值(或改写已有的键值的数据)
语法为:WshShell.RegWrite "子主键名\键值名","键值的数据","键值的类型"
例如我们想在子主键“HKEY_CURRENT_USER\MyReg” 下新建一个字符串键值KeyValue,设置键值的数据为“str”,可使用如下的语句:
WshShell.RegWrite "HKCU\MyReg\KeyValue", "str"
(注:键值为字符串值,可省去"键值类型"的声明)
若所建的为二进制值或DWORD值,数据为“1”,则还必须声明键值的类型,如下:
WshShell.RegWrite "HKCU\MyReg\KeyValue",1,"REG_BINARY"
WshShell.RegWrite "HKCU\MyReg\KeyValue",1,"REG_DWORD"
注意二进制值和DWORD值的数据不能加引号,而字符串值的数据则必须加引号。
二、RegDelete(删除注册表数据)
* 删除一个子主键
语法为:WshShell.RegDelete "子主键名\"
例如,我们想删除子主键“HKEY_CURRENT_USER\MyReg”,可使用如下的语句:
WshShell.RegDelete "HKCU\MyReg\"
* 删除子主键的某个键值
语法为:WshShell.RegDelete "子主键名\键值名"
例如,我们想删除子主键“HKEY_CURRENT_USER\MyReg” 的键值KeyValue,可使用如下的语句:
WshShell.RegDelete "HKCU\MyReg\KeyValue"
类似于RegWrite,有一个“\”号表示的是删除子主键,没有“\”则表示要删除的是子主键下的键值。
除了WshShell对象外,我们还必须了解一下WScirpt 对象。WScirpt对象即代表Scripting Engine,只要启动Engine就会自动产生此对象。WScript对象提供了创建和读取对象的方法。要使用WSH的其他对象(例如WshShell对象),就必须先用WScript对象的有关方法(CreateObject、GetObject)来创建和读取。
创建对象的语法如下:
WScript.CreateObject(strProgID)
其中strProgID就是我们所要创建的对象的标识名。
例如:我们要使用WshShell对象及其属性和方法,首先就要用WScript对象的方法CreateObject来创建一个WshShell对象,语句如下:
Set WSHShell = WScript.CreateObject("WScript.Shell")
举一个例子吧。大家都知道,如果你使用了“开始”菜单中的“运行”,Windows将在列表框里记录下你“作案” 的痕迹。其实这些数据是记录在注册表中HKEY_CURRENT_USER\Software\Microsoft\Windows\
CurrentVersion\Explorer\RunMRU子键下,我们只要把这个子键删除,然后再重新建立,不就可以了吗?
现在我们可以来编写一个脚本了。以VBS为例,我们可以用记事本新建一个文件,然后输入(其中“//”后的文字为注释,不必输入):
//定义对象,要编辑注册表,我们需要使用WSHShell对象及其方法
Dim WSHShell
//对象的方法CreateObject来创建WSHShell对象
Set WSHShell = WScript.CreateObject("WScript.Shell")
//然后我们使用WSHShell对象的方法RegDelete来删除 HKEY_CURRENT_USER\Software\Microsoft\
Windows\CurrentVersion\Explorer\RunMRU子键
WSHShell.RegDelete "HKCU\Software\Microsoft\
Windows\CurrentVersion\Explorer\RunMRU\"
//最后我们恢复该主键,并在该主键下恢复字符串值“MRUList”,设置其数据为空串
WSHShell.RegWrite "HKCU\Software\Microsoft\
Windows\CurrentVersion\Explorer\RunMRU\MRUList",""
程序到此结束,我们把文件另存为CleanMRU.vbs就可以了。现在我们就可以使用Scripting Engine来执行这个程序了。假设我们刚才把这个文件保存在D:\TEMP里,我们就可以使用“开始”菜单的“运行”——Wcript.exe D:\TEMP\CleanMRU.vbs。重新启动,怎么样?“运行”里已经是空空如也了吧!
如果我们这样费尽心思地编了程序,最后还是得靠手工来运行,那还不如每次直接用注册表编辑器来操作呢!其实我们完全可以让它在每次开机时自动加载。这么一说,大家肯定都知道了——我们可以使用注册表编辑器,在“HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\
CurrentVersion\Run”子主键下建立一个字符串值 “CleanMRU”,设置其数据为"Wcript.exe D:\TEMP\CleanMRU.vbs"。嘿嘿,这样才算大功告成。以后你每次开机,Windows就会自动执行该脚本以清除 “运行”中的历史记录了
有关注删表函数RegistryDelete()
功能删除Windows系统注册库中的一个键或键的某个值。
语法RegistryDelete ( key, valuename )
参数key:string类型,指定键名,将删除该键或删除该键的某个值valuename:string类型,指定要删除的值的名称。如果想删除键、键的值、以及其下的所有子键,那么将该参数指定为空字符串返回值Integer。函数执行成功时返回1,发生错误时返回-1。用法为了唯一地标识某个键,在key参数中,可以从根键开始依次指定各级父键,各键之间使用反斜杠(\)分隔。
--------------------------------------------------------------------------------
RegistryGet()
功能从系统注册库中得到指定键的值。
语法RegistryGet ( key, valuename, valuetype, valuevariable )
参数key:string类型,指定键名valuename:string类型,指定要访问值的名称。每个键可以有一个未命名的值和多个命名的值。要访问未命名的值,把该参数指定为空字符串("")valuetype:RegistryValueType枚举类型,指定值的数据类型。有效取值请参看用法valuevariable:用于保存键值的变量,其数据类型应该与valuetype参数指定的类型相匹配返回值Integer。函数执行成功时返回1,发生错误时返回-1。如果valuevariable的数据类型与valuetype参数指定的类型不匹配,将引发运行错误。
用法valuetype的可能取值为:RegString!以空字符结束的字符串RegExpandString!以空字符结束的字符串,其中包括了对环境变量的非扩展应用RegBinary!二进制数据ReguLong!32位数据ReguLongBigEndian!32位大数据RegLink!Unicode符号链RegMultiString!动态字符串数组为了唯一地标识某个键,在key参数中,可以从根键开始依次指定各级父键,各键之间使用反斜杠(\)分隔。
--------------------------------------------------------------------------------
RegistryKeys()
功能从系统注册库中得到指定键的有效子键。
语法RegistryKeys ( key, subkeys )
参数key:string类型,指定键名subkeys:字符串数组变量,用于保存各子键返回值Integer。函数执行成功时返回1,发生错误时返回-1。用法在subkeys参数中可以使用定长数组,也可以使用动态数组。使用动态数组时,数组的上界反映了能够得到的子键个数。当使用定长数组时,其数组元素个数必须足够多,保证能够容纳所有子键,但是,在具体得到子键之前,没有办法能够预先知道实际子键个数。为了唯一地标识某个键,在key参数中,可以从根键开始依次指定各级父键,各键之间使用反斜杠(\)分隔。
--------------------------------------------------------------------------------
RegistrySet()
功能在系统注册库中设置或创建指定键。
语法RegistrySet ( key, valuename, valuetype, value )
参数key:string类型,指定键名valuename:string类型,指定要访问值的名称。每个键可以有一个未命名的值和多个命名的值。要访问未命名的值,把该参数指定为空字符串("")。如果注册库中不存在指定值名,该函数将创建新的值名valuetype:RegistryValueType枚举类型,指定值的数据类型。有效取值请参看用法value:要设置的值,其数据类型应该与valuetype参数指定的类型相匹配返回值Integer。函数执行成功时返回1,发生错误时返回-1。如果valuevariable的数据类型与valuetype参数指定的类型不匹配,将引发运行错误。用法valuetype的可能取值为:RegString!以空字符结束的字符串RegExpandString!以空字符结束的字符串,其中包括了对环境变量的非扩展应用RegBinary!二进制数据ReguLong!32位数据ReguLongBigEndian!32位大数据RegLink!Unicode符号链RegMultiString!动态字符串数组为了唯一地标识某个键,在key参数中,可以从根键开始依次指定各级父键,各键之间使用反斜杠(\)分隔。
--------------------------------------------------------------------------------
RegistryValues()
功能得到与指定键相关的一组值名。该函数在Windows 3.1中无效。
语法RegistryValues ( key, valuename )
参数key:string类型,指定键名valuename:字符串数组变量,用于保存值名返回值Integer。函数执行成功时返回1,发生错误时返回-1。用法在valuename 参数中可以使用定长数组,也可以使用动态数组。使用动态数组时,数组的上界反映了能够得到的值名个数。当使用定长数组时,其数组元素个数必须足够多,保证能够容纳所有值名,但是,在具体得到值名之前,没有办法能够预先知道实际值名个数。为了唯一地标识某个键,在key参数中,可以从根键开始依次指定各级父键,各键之间使用反斜杠(\)分隔。
运行里面的快捷输入
1. gpedit.msc-----组策略
2. sndrec32-------录音机
3. Nslookup-------IP地址侦测器
4. explorer-------打开资源管理器
5. logoff---------注销命令
6. tsshutdn-------60秒倒计时关机命令
7. lusrmgr.msc----本机用户和组
8. services.msc---本地服务设置
9. oobe/msoobe /a----检查XP是否激活
10. notepad--------打开记事本A
11. cleanmgr-------垃圾整理
12. net start messenger----开始信使服务
13. compmgmt.msc---计算机管理
14. net stop messenger-----停止信使服务
15. conf-----------启动netmeeting
16. dvdplay--------DVD播放器
17. charmap--------启动字符映射表
18. diskmgmt.msc---磁盘管理实用程序
19. calc-----------启动计算器
20. dfrg.msc-------磁盘碎片整理程序
21. chkdsk.exe-----Chkdsk磁盘检查
22. devmgmt.msc--- 设备管理器
23. regsvr32 /u *.dll----停止dll文件运行
24. drwtsn32------ 系统医生
25. rononce -p ----15秒关机
26. dxdiag---------检查DirectX信息
27. regedt32-------注册表编辑器
28. Msconfig.exe---系统配置实用程序
29. rsop.msc-------组策略结果集
30. mem.exe--------显示内存使用情况
31. regedit.exe----注册表
32. winchat--------XP自带局域网聊天
33. progman--------程序管理器
34. winmsd---------系统信息
35. perfmon.msc----计算机性能监测程序
36. winver---------检查Windows版本
37. sfc /scannow-----扫描错误并复原
38. taskmgr-----任务管理器(2000/xp/2003
39. winver---------检查Windows版本
40. wmimgmt.msc----打开windows管理体系结构(WMI)
41. wupdmgr--------windows更新程序
42. wscript--------windows脚本宿主设置
43. write----------写字板
44. winmsd---------系统信息
45. wiaacmgr-------扫描仪和照相机向导
46. winchat--------XP自带局域网聊天
47. mem.exe--------显示内存使用情况
48. Msconfig.exe---系统配置实用程序
49. mplayer2-------简易widnows media player
50. mspaint--------画图板
51. mstsc----------远程桌面连接
52. mplayer2-------媒体播放机
53. magnify--------放大镜实用程序
54. mmc------------打开控制台
55. mobsync--------同步命令
56. dxdiag---------检查DirectX信息
57. drwtsn32------ 系统医生
58. devmgmt.msc--- 设备管理器
59. dfrg.msc-------磁盘碎片整理程序
60. diskmgmt.msc---磁盘管理实用程序
61. dcomcnfg-------打开系统组件服务
62. ddeshare-------打开DDE共享设置
63. dvdplay--------DVD播放器
64. net stop messenger-----停止信使服务
65. net start messenger----开始信使服务
66. notepad--------打开记事本
67. nslookup-------网络管理的工具向导
68. ntbackup-------系统备份和还原
69. narrator-------屏幕“讲述人”
70. ntmsmgr.msc----移动存储管理器
71. ntmsoprq.msc---移动存储管理员操作请求
72. netstat -an----(TC)命令检查接口
73. syncapp--------创建一个公文包
74. sysedit--------系统配置编辑器
75. sigverif-------文件签名验证程序
76. sndrec32-------录音机
77. shrpubw--------创建共享文件夹
78. secpol.msc-----本地安全策略
79. syskey---------系统加密,一旦加密就不能解开,保护windows xp系统的双重密码
80. services.msc---本地服务设置
81. Sndvol32-------音量控制程序
82. sfc.exe--------系统文件检查器
83. sfc /scannow---windows文件保护
84. tsshutdn-------60秒倒计时关机命令
85. tourstart------xp简介(安装完成后出现的漫游xp程序)
86. taskmgr--------任务管理器
87. eventvwr-------事件查看器
88. eudcedit-------造字程序
89. explorer-------打开资源管理器
90. packager-------对象包装程序
91. perfmon.msc----计算机性能监测程序
92. progman--------程序管理器
93. regedit.exe----注册表
94. rsop.msc-------组策略结果集
95. regedt32-------注册表编辑器
96. rononce -p ----15秒关机
97. regsvr32 /u *.dll----停止dll文件运行
98. regsvr32 /u zipfldr.dll------取消ZIP支持
99. cmd.exe--------CMD命令提示符
100. chkdsk.exe-----Chkdsk磁盘检查
101. certmgr.msc----证书管理实用程序
102. calc-----------启动计算器
103. charmap--------启动字符映射表
104. cliconfg-------SQL SERVER 客户端网络实用程序
105. Clipbrd--------剪贴板查看器
106. conf-----------启动netmeeting
107. compmgmt.msc---计算机管理
108. cleanmgr-------垃圾整理
109. ciadv.msc------索引服务程序
110. osk------------打开屏幕键盘
111. odbcad32-------ODBC数据源管理器
112. oobe/msoobe /a----检查XP是否激活
113. lusrmgr.msc----本机用户和组
114. logoff---------注销命令
115. iexpress-------木马捆绑工具,系统自带
116. Nslookup-------IP地址侦测器
117. fsmgmt.msc-----共享文件夹管理器
118. utilman--------辅助工具管理器