使用批处理,从TXT文本中读取一个值,然后把这个赋值给配置项INI文件中的一个变量。
(1)比如,在a.txt中有以下几个值035b7000Bg_aucSwmPatchArea0373c757Bg_aucUnavailBBPList030a443cTg_a...
(1)比如,在a.txt中有以下几个值
035b7000 B g_aucSwmPatchArea
0373c757 B g_aucUnavailBBPList
030a443c T g_aucUsAsciiCcsTable
通过批处理读取035b7000这个字符串
(2)在b.ini中有以下几个参数
[BASICINFO]
PatchDirPre=./HP
PatchFilePre=patch
SymFilePre=patch
MaxFuncInAUnit=20
MaxPatchUnit=200
DefaultPatchNo=2
PatchTextStartAddr=0x035a3000
PatchDataStartAddr=0x03637000
(3)需要修改DefaultPatchNo=1
(4)需要把TXT中取出的这个字符串赋值给PatchTextStartAddr=0x035b7000
(5)需要把PatchDataStartAddr=0x035b7000+0x80000
在网上找了几个方法,但都没有实现,哪位大神能够帮忙实现下,多谢多谢了
等有分了会追加给你 展开
035b7000 B g_aucSwmPatchArea
0373c757 B g_aucUnavailBBPList
030a443c T g_aucUsAsciiCcsTable
通过批处理读取035b7000这个字符串
(2)在b.ini中有以下几个参数
[BASICINFO]
PatchDirPre=./HP
PatchFilePre=patch
SymFilePre=patch
MaxFuncInAUnit=20
MaxPatchUnit=200
DefaultPatchNo=2
PatchTextStartAddr=0x035a3000
PatchDataStartAddr=0x03637000
(3)需要修改DefaultPatchNo=1
(4)需要把TXT中取出的这个字符串赋值给PatchTextStartAddr=0x035b7000
(5)需要把PatchDataStartAddr=0x035b7000+0x80000
在网上找了几个方法,但都没有实现,哪位大神能够帮忙实现下,多谢多谢了
等有分了会追加给你 展开
1个回答
展开全部
你好,有一点疑问:就是从a.txt中提取的那个字符串,是固定的吗?a.txt的内容就只有那三行吗?
更多追问追答
追问
a.txt中这三行只是例子,有很多,在035b7000 B g_aucSwmPatchArea中,035b7000是不固定的,g_aucSwmPatchArea是固定的。有什么方法么?我知道用C是可以实现的,但是批处理这些不知道是不是可以实现
追答
@echo off&setlocal enabledelayedexpansion
for /f "delims=" %%a in (d:\a.txt) do (
for /f %%b in ('echo %%a^|findstr /e "g_aucSwmPatchArea"') do (
set "var=%%b"
for /f "delims=" %%c in (d:\b.ini) do (
set /a num+=1
if !num! leq 6 (
echo %%c
) else (
if !num!==7 echo DefaultPatchNo=1
if !num!==8 echo PatchTextStartAddr=!var!
if !num!==9 echo %%c+!var!
)
)>>temp.ini
)
)
move temp.ini d:\b.ini
pause
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询