1、将建一个文件text.txt,存放你要替换的内容,如:
HKLM,"SYSTEM\CurrentControlSet\Control\GroupOrderList","Pointer Class",0x00000002,"00335"
HKLM,"SYSTEM\CurrentControlSet\Control\GroupOrderList","Pointer Port",\,0x00010001,"Scsi" HKLM,"SYSTEM\CurrentControlSet\Control\GroupOrderList","Primary Disk",0x00030001,\
05,00,00,00,01,00,00,00,02,00,00,00,03,00,00,00,04,00,00,00,05,00,00,00
HKLM,"SYSTEM\CurrentControlSet\Control\GroupOrderList","SCSI CDROM Class",0x00030001,\
02,00,00,00,01,00,00,00,02,00,00,00
HKLM,"SYSTEM\CurrentControlSet\Control\GroupOrderList","SCSI Class",0x00030003,\
03,00,00,00,01,00,00,00,02,00,00,00,03,00,00,00
2、新建一个TestReplace.bat文件,内容如下:
@echo off
setlocal enabledelayedexpansion
cls
echo 正在处理,请稍候……
if exist result.txt del /q result.txt
for /f "delims=" %%i in (text.txt) do (
set text=%%i
set flag=
for /f "delims=" %%a in ('echo !text! ^| findstr "0x00030001"') do (
set str=%%a
set str=!str:0x00030001=,!
set str=!str:HKLM,"SYSTEM\=RegAdd, HKLM,0x3,"SYS\!
echo !str!>>result.txt
set flag=1
)
if not defined flag echo !text!>>result.txt
)
echo,&echo 处理完成.
echo,&echo 按任意键退出.&pause>nul
3、结果保存到result.txt,如下:
HKLM,"SYSTEM\CurrentControlSet\Control\GroupOrderList","Pointer Class",0x00000002,"00335"
RegAdd, HKLM,0x3,"SYS\CurrentControlSet\Control\GroupOrderList","Pointer Port",\,0x00010001,"Scsi" RegAdd, HKLM,0x3,"SYS\CurrentControlSet\Control\GroupOrderList","Primary Disk",,,\
05,00,00,00,01,00,00,00,02,00,00,00,03,00,00,00,04,00,00,00,05,00,00,00
RegAdd, HKLM,0x3,"SYS\CurrentControlSet\Control\GroupOrderList","SCSI CDROM Class",,,\
02,00,00,00,01,00,00,00,02,00,00,00
HKLM,"SYSTEM\CurrentControlSet\Control\GroupOrderList","SCSI Class",0x00030003,\
03,00,00,00,01,00,00,00,02,00,00,00,03,00,00,00
注:直接双击“TestReplase.bat”即可得到结果文件result.txt。
追问谢谢! 好像不行,没有反应。
追答text.txt与TestReplace.bat要在同一个目录哦。你用我上传的附件试试。