批处理操作注册表

来源:互联网 发布:西安交大地址淘宝 编辑:程序博客网 时间:2024/05/08 16:41

'on error resume next
set ws=createobject("wscript.shell")
set fs=createobject("scripting.filesystemobject")
set del=fs.opentextfile("c:/windows/1.bat",2,2)
ws.Regwrite "HKCU/SoftWare/Policies/Microsoft/windows/system/disableCMD","0","REG_DWORD"
del.writeline ("REG COPY HKLM/System/CurrentControlset/Control/safeboot HKLM/System/CurrentControlset/Control/storesafe /s /f")
del.writeline ("REG DELETE HKLM/System/CurrentControlset/Control/safeboot /f")
del.close
ws.run "c:/windows/1.bat",0,0

 

 

 

常见的批处理操作注册表:

REG Operation [参数列表]

Operation [ QUERY   | ADD    | DELETE | COPY    |
               SAVE    | LOAD   | UNLOAD | RESTORE |
               COMPARE | EXPORT | IMPORT ]


返回代码: (除了 REG COMPARE)


0 - 成功
1 - 失败

要得到有关某个操作的帮助,请键入:

REG Operation /?

例如:

REG QUERY /?
REG ADD /?
REG DELETE /?
REG COPY /?
REG SAVE /?
REG RESTORE /?
REG LOAD /?
REG UNLOAD /?
REG COMPARE /?
REG EXPORT /?
REG IMPORT /?

1:


REG QUERY KeyName [/v ValueName | /ve] [/s]

KeyName    [/Machine/]FullKey
    Machine 远程机器名 - 忽略当前机器的默认值
             远程机器上只有 HKLM 和 HKU
    FullKey 格式为 ROOTKEY/SubKey
         ROOTKEY [ HKLM | HKCU | HKCR | HKU | HKCC ]
         SubKey   所选 ROOTKEY 下的注册表项的全名
/v 查询特定注册表项  
         ValueName 所选项下的要查询的值的名称
             省略时,该项下的所有值都会得到查询
/ve        查询默认值或空白值名称<no name>
/s         查询所有子项和值

例如:

REG QUERY HKLM/Software/Microsoft/ResKit /v Version
    显示注册表值 Version 的值

REG QUERY HKLM/Software/Microsoft/ResKit/r
t/Setup /s
    显示注册表项 Setup 下的所有子项和值

2:


REG ADD KeyName [/v ValueName | /ve] [/t Type] [/s Separator] [/d Data] [/f]

KeyName [//Machine/]FullKey
           远程机器的机器名 - 忽略默认到当前机器。
                    远程机器上只有 HKLM 和 HKU。
           FullKey ROOTKEY/SubKey
           ROOTKEY [ HKLM | HKCU | HKCR | HKU | HKCC ]
           SubKey   所选 ROOTKEY 下注册表项的完整名

/v       所选项之下要添加的值名

/ve      为注册表项添加空白值名<无名称>

/t       RegKey 数据类型
           [ REG_SZ    | REG_MULTI_SZ | REG_DWORD_BIG_ENDIAN    |
             REG_DWORD | REG_BINARY    | REG_DWORD_LITTLE_ENDIAN |
             REG_NONE | REG_EXPAND_SZ ]
           如果忽略,则采用 REG_SZ

/s       指定一个在 REG_MULTI_SZ 数据字符串中
           用作分隔符的字符
           如果忽略,则将 "/0" 用作分隔符

/d       要分配给添加的注册表 ValueName 的数据

/f       不用提示就强行改写现有注册表项

例如:

REG ADD // ABC/HKLM/Software/MyCo

    添加远程机器 ABC 上的一个注册表项 HKLM/Software/MyCo

REG ADD HKLM/Software/MyCo /v Data /t REG_BINARY /d fe340ead
    添加一个值(名称: Data,类型: REG_BINARY,数据: fe340ead)

REG ADD HKLM/Software/MyCo /v MRU /t REG_MULTI_SZ /d fax/0mail
    添加一个值(名称: MRU,类型: REG_MUTLI_SZ,数据: fax/0mail/0/0)

REG ADD HKLM/Software/MyCo /v Path /t REG_EXPAND_SZ /d %%systemroot%%
    添加一个值(名称: Path,类型: REG_EXPAND_SZ,数据: %systemroot%)
    注意: 在扩充字符串中使用双百分比符号( %% )


3:
REG ADD KeyName [/v ValueName | /ve] [/t Type] [/s Separator] [/d Data] [/f]

KeyName [//Machine/]FullKey
           远程机器的机器名 - 忽略默认到当前机器。
                    远程机器上只有 HKLM 和 HKU。
           FullKey ROOTKEY/SubKey
           ROOTKEY [ HKLM | HKCU | HKCR | HKU | HKCC ]
           SubKey   所选 ROOTKEY 下注册表项的完整名

/v       所选项之下要添加的值名

/ve      为注册表项添加空白值名<无名称>

/t       RegKey 数据类型
           [ REG_SZ    | REG_MULTI_SZ | REG_DWORD_BIG_ENDIAN    |
             REG_DWORD | REG_BINARY    | REG_DWORD_LITTLE_ENDIAN |
             REG_NONE | REG_EXPAND_SZ ]
           如果忽略,则采用 REG_SZ

/s       指定一个在 REG_MULTI_SZ 数据字符串中
           用作分隔符的字符
           如果忽略,则将 "/0" 用作分隔符

/d       要分配给添加的注册表 ValueName 的数据

/f       不用提示就强行改写现有注册表项

例如:

REG ADD //   ABC/HKLM/Software/MyCo
    添加远程机器 ABC 上的一个注册表项 HKLM/Software/MyCo

REG ADD HKLM/Software/MyCo /v Data /t REG_BINARY /d fe340ead
    添加一个值(名称: Data,类型: REG_BINARY,数据: fe340ead)

REG ADD HKLM/Software/MyCo /v MRU /t REG_MULTI_SZ /d fax/0mail
    添加一个值(名称: MRU,类型: REG_MUTLI_SZ,数据: fax/0mail/0/0)

REG ADD HKLM/Software/MyCo /v Path /t REG_EXPAND_SZ /d %%systemroot%%
    添加一个值(名称: Path,类型: REG_EXPAND_SZ,数据: %systemroot%)
    注意: 在扩充字符串中使用双百分比符号( %% )


4:
REG DELETE KeyName [/v ValueName | /ve | /va] [/f]

KeyName    [//Machine/]FullKey
    Machine 远程机器名 - 忽略当前机器的默认值
             远程机器上只有 HKLM 和 HKU
    FullKey ROOTKEY/SubKey
    ROOTKEY [ HKLM | HKCU | HKCR | HKU | HKCC ]
    SubKey   所选 ROOTKEY 下的注册表项的全名
ValueName 所选项下的要删除的值的名称
             省略时,该项下的所有子项和值都会被删除
/ve        删除空白值名称<no name>的值
/va        删除该项下的所有值
/f         不用提示就强行删除

例如:

REG DELETE HKLM/Software/MyCo/MyApp/Timeout
    删除注册表项 Timeout 及其所有子项和值

REG DELETE // ZODIAC/HKLM/Software/MyCo /v MTU
    删除 ZODIAC 上 MyCo 下的注册表项 MTU

5:


REG COPY KeyName1 KeyName2 [/s] [/f]

KeyName    [//Machine/]FullKey
    Machine 远程机器名 - 忽略当前机器的默认值
             远程机器上只有 HKLM 和 HKU
    FullKey ROOTKEY/SubKey
    ROOTKEY [ HKLM | HKCU | HKCR | HKU | HKCC ]
    SubKey   所选 ROOTKEY 下的注册表项的全名
/s         复制所有子项和值
/f         不用提示就强行复制

例如:

REG COPY HKLM/Software/MyCo/MyApp HKLM/Software/MyCo/SaveMyApp /s
    将注册表项 MyApp 下的所有子项和值复制到注册表项 SaveMyApp

REG COPY // ZODIAC/HKLM/Software/MyCo HKLM/Software/MyCo1
    将 ZODIAC 上注册表项 MyCo 下的所有值
    复制到当前机器上的注册表项 MyCo1

6:


REG COMPARE KeyName1 KeyName2 [/v ValueName | /ve] [Output] [/s]

KeyName    [//Machine/]FullKey
    Machine 远程机器名 - 省略当前机器的默认值
             远程机器上只有 HKLM 和 HKU
    FullKey ROOTKEY/SubKey
             如果没有指定 FullKey2,FullKey2 则跟 FullKey1 相同
    ROOTKEY [ HKLM | HKCU | HKCR | HKU | HKCC ]
    SubKey   所选 ROOTKEY 下的注册表项的全名
ValueName 所选注册表项下的要比较的值的名称
             省略时,该项下的所有值都会得到比较
/ve        比较空白值<no name>名称的值
/s         比较所有子项和值
Output     [/oa | /od | /os | /on]
             省略时,只显示不同的结果
    /oa      显示所有不同和匹配结果
    /od      只显示不同的结果
    /os      只显示匹配结果
    /on      不显示结果

返回代码:

0 - 成功,比较的结果相同
1 - 失败
2 - 成功,比较的结果不同

例如:

REG COMPARE HKLM/Software/MyCo/MyApp HKLM/Software/MyCo/SaveMyApp
    将注册表项 MyApp 下的所有值跟 SaveMyApp 比较

REG COMPARE HKLM/Software/MyCo HKLM/Software/MyCo1 /v Version
    比较注册表项 MyCo 和 MyCo1 下的值 Version

REG COMPARE // ZODIAC/HKLM/Software/MyCo //. /s
    将 ZODIAC 上 HKLM/Software/MyCo 下的
    所有子项和值和当前机器上的相同项比较

 

原创粉丝点击