那我贴一个以前我做的给你参考
@ECHO OFF
TITLE 修改VOL版Windows XP成OEM版----瞿亚设计
REM 修改OEMDIR值可以改成其他的OEM版本
set OEMDIR=\WXPOEM\IBM
if not defined SAFEBOOT_OPTION ECHO 请进入安全模式运行此程序!&GOTO END
ECHO 免责声明:您应该对使用本程序的结果自行承担风险。&ECHO.
ECHO 此批处理文件将把VOL版的XP改成IBM OEM 版本
ECHO 警告!必须修改对应BIOS的特征码,否则无法激活!
ECHO 如想改成其他品牌的OEM版本,请修改本文件再运行 &ECHO.
:answer
set/p cont=继续安装 (y/n)?
if %cont%==y goto setup
if %cont%==Y goto setup
if %cont%==n goto end
if %cont%==N goto end
goto answer
:setup
ECHO. &IF NOT EXIST %OEMDIR%\OEMBIOS.CAT GOTO ERROREND
REM 更新OEM文件到DllCache和SYSTEM32目录 共4个文件
attrib -a -s -r -h %SYSTEMROOT%\System32\Dllcache\oembios.cat
attrib -a -s -r -h %SYSTEMROOT%\System32\CatRoot\{F750E6C3-38EE-11D1-85E5-00C04FC295EE}\oembios.cat
COPY %OEMDIR%\*.* %SYSTEMROOT%\System32\Dllcache /Y>nul
COPY %OEMDIR%\OEMBIOS.BIN %SYSTEMROOT%\System32 /Y>nul
COPY %OEMDIR%\OEMBIOS.DAT %SYSTEMROOT%\System32 /Y>nul
COPY %OEMDIR%\OEMBIOS.SIG %SYSTEMROOT%\System32 /Y>nul
COPY %OEMDIR%\OEMBIOS.CAT %SYSTEMROOT%\System32\CatRoot\{F750E6C3-38EE-11D1-85E5-00C04FC295EE} /Y>nul
COPY %OEMDIR%\OEMINFO\*.* %SYSTEMROOT%\System32 /Y>nul 2>nul
REM 更新激活验证文件(Dpcdll.dll、Pidgen.dll)
EXPAND -R Dpcdll.dl_ %SYSTEMROOT%\System32\Dllcache>nul
EXPAND -R Dpcdll.dl_ %SYSTEMROOT%\System32>nul
EXPAND -R Pidgen.dl_ %SYSTEMROOT%\System32\Dllcache>nul
EXPAND -R Pidgen.dl_ %SYSTEMROOT%\System32>nul
REM 导入OEM注册表文件
attrib +a +s +r +h %SYSTEMROOT%\System32\Dllcache\oembios.cat
attrib +a +s +r +h %SYSTEMROOT%\System32\CatRoot\{F750E6C3-38EE-11D1-85E5-00C04FC295EE}\oembios.cat
REGEDIT -S OEM.REG
ECHO 导入完成,请重新启动计算机
GOTO END
:ERROREND
ECHO 未发现OEM版本相关文件,系统未作改动
:END
PAUSE
注意将OEM.REG,PIDGEN.DL_,DPCDLL.DL_ 放在上述批处理的同一个目录。
OEM.REG内容如下:
Windows Registry Editor Version 5.00
"ProductId"="55661-OEM-0011964-47775"
"ProductId"="55661-OEM-0011964-47775"
"DigitalProductId"=hex:a4,00,00,00,03,00,00,00,35,35,36,36,31,2d,4f,45,4d,2d,\
30,30,31,31,39,36,34,2d,34,37,37,37,35,00,2d,00,00,00,41,32,32,2d,30,30,30,\
30,31,00,00,00,00,00,00,00,3e,5c,43,0e,f2,25,4c,6e,07,bd,af,e0,91,6f,05,00,\
00,00,00,00,3d,1f,f1,40,99,a3,02,00,02,00,00,00,00,00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,00,00,00,34,33,34,30,30,00,00,00,00,00,00,00,96,16,\
00,00,c2,b7,1a,38,00,01,00,00,8c,01,00,00,00,00,00,00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,50,91,fe,62
"LicenseInfo"=hex:33,43,46,34,7e,d9,1f,26,2d,7c,f4,45,be,b3,26,ef,05,4b,17,21,\
10,86,9c,ff,5e,4c,06,86,00,cd,09,9d,f4,58,c5,d8,21,ed,11,f3,42,66,af,35,e5,\
99,1e,95,7d,58,26,8e,63,ce,68,d5
1. 正确
2. 必须
3. 其实是一个XP的OEM序列号
既然你在安装的时候已经输入了序列号,那么这个序列号已经决定了你需要什么样的6个文件,你要替换它们干什么??!!难道要搞死它?
DLL文件可以是没压缩的。但会出现个错误信息,稍微修改下可以屏蔽错误信息。
比如 EXPAND -R Dpcdll.dl_ %SYSTEMROOT%\System32\Dllcache>nul 2>nul
唉!我怎么不真心了?我就是没表达清楚我的意思而已,我说了不要在安全模式下替换,被您说的越糊涂了(其实在安全模式下替换也不需要这么复杂的批处理的),我说过了,在安全模式下我会替换的!我说过了比方是不好!
因为我要的结果没有,所以进一步说明而已,也用着这样吧!不愿帮无所谓的!
好象没有对您怎么样吧!唉!算了!有高手愿意帮就帮,不愿意帮也无所谓的,总是有办法的,实在搞不定那也没办法,只好不做了!如果说有对您不真心的话,在此说一声对不起了!再一次谢谢您 了!
我要的正常情况下能不能用批处理方式替换受系统保护的文件。