标题: [文本处理] 批处理如何实现选择菜单&ini文件字符串替换? [打印本页]
作者: eq0314 时间: 2015-6-8 21:59 标题: 批处理如何实现选择菜单&ini文件字符串替换?
某文件下内有3dmgame.ini和game.exe文件
3dmgame.ini文件中有数列字符内容如下(列数不定)
DLC001=123456
DLC002=565546
DLC003=544454
DLC004=544455
DLC005=420694
DLC006=420695
DLC007=420696
DLC008=655656
希望制作批处理文件game.bat实现如下操作
1、制作选择菜单 2、替换不定列字符串 3.启动文件
具体要求如下
选择菜单1.原创mod
把3dmgame.ini中上述内容替换为
DLC001=420690
DLC002=420691
DLC003=420692
DLC004=420693
DLC005=420694
DLC006=420695
DLC007=420696
然后启动game.exe
选择菜单2.新增mod
把3dmgame.ini中上述内容替换为
DLC001=420696
DLC002=352150
DLC003=358140
然后启动game.exe
选择菜单3.特别mod
把3dmgame.ini中上述内容替换为
DLC001=420647
然后启动game.exe
总之就是制作选择菜单把3dmgame.ini文件中不定列的特别内容换成指定的内容(列数依然不确定)然后启动game.exe文件
请大侠指导
作者: mqyphts 时间: 2015-6-9 11:22
本帖最后由 mqyphts 于 2015-6-9 23:02 编辑
- @echo off
- setlocal enabledelayedexpansion
- ::file path 代表game.exe 路径
- set fp="filepath"
- set /p choose="你的选择?:1,2,3"
- echo.>tmp
- ::source.txt 代表原文件,1.txt,2.txt,3.txt代表要修改的选项
- if %choose%==1 (set secondfile=1.txt)
- if %choose%==2 (set secondfile=2.txt)
- if %choose%==3 (set secondfile=3.txt)
-
- (for /f "delims=" %%a in (source.txt) do (
- set str1=%%a
- set /p str2=
- set t1=!str1:~1,5!
- set t2=!str2:~1,5!
- if !t1!==!t2! ( echo !str2!>>tmp ) else ( echo !str1! >>tmp )
- ))<%secondfile%
- move /y tmp source.txt
- call %fp%
- pause
复制代码
作者: eq0314 时间: 2015-6-9 22:08
回复 2# mqyphts
没出现选择菜单 直接启动game
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |