使用批处理,从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

在网上找了几个方法,但都没有实现,哪位大神能够帮忙实现下,多谢多谢了
等有分了会追加给你
展开
 我来答
ijyfe
2015-04-15 · TA获得超过3000个赞
知道小有建树答主
回答量:1243
采纳率:25%
帮助的人:479万
展开全部
你好,有一点疑问:就是从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
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式