操作注册表的批处理代码

来源:互联网 发布:点手机域名注册局 编辑:程序博客网 时间:2024/05/29 23:22
::code by youxi01@bbs.bathome.cn,2008-1-16

::程序名:读取、修改计算机注册信息
::Happy New Year
@echo off &setlocal enabledelayedexpansion
title 读取、修改计算机注册信息
Rem '/*/////////////////设置路径///////////////////////////////
set "Reg_Path=HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion"
Rem '/*///////////////设置代号对应值//////////////////////////
set 1=所有者 RegisteredOwner
set 2=机构 RegisteredOrganization
set 3=系统ID号 ProductId
Rem '/*////////////////读取相关信息///////////////////////////
echo 正在获取系统注册相关信息...&echo.
for %%i in (RegisteredOwner RegisteredOrganization ProductId) do call :Get_Info %%i
Rem '/*///////////////显示窗口///////////////////////////////
:Main
echo 1、修改   所有者:    %RegisteredOwner%
echo 2、修改   机构:      %RegisteredOrganization%
echo 3、修改   系统ID号:  %ProductId%
Rem '/*////////////强制修改计算机注册信息(不带提示)////////////
echo.&set /p En=请输入选择(1/2/3):
if %En% GTR 3 cls & goto :Main
if %En% LSS 1 cls & goto :Main
for /f "tokens=%En%" %%i in ("1 2 3") do (
    for /f "tokens=1,2" %%a in ("!%%i!") do (
        set C_Name=%%a
        set Reg_Name=%%b
      )
    Rem '/*///////////如果要修改的值输入为空,则不修改///////////
    call set En=%%!Reg_Name!%%
    echo.
    set /P En=请输入新的 "!C_Name!":
    set !Reg_Name!=!En!
    Reg Add "%Reg_Path%" /v !Reg_Name! /d !En! /f
)
echo.&echo 1、退出 & echo 2、返回
set "En="
echo. & set /p En=请选择:
Rem '/*如果选择了2,则返回;否则退出。
if %En% EQU 2 cls & goto :Main
goto :eof 
pause>nul
goto :eof
:Get_Info 项目
set "var=!%~1!"
for /f "skip=2 tokens=3" %%a in ('reg query "%Reg_Path%" /v %~1') do set %~1=%%a


本文转载自:http://www.hackbase.com/tech/2009-08-19/55094.html

原创粉丝点击