[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文本处理] 批处理如何实现选择菜单&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 23:02 编辑
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. ::file path 代表game.exe 路径
  4. set fp="filepath"
  5. set /p choose="你的选择?:1,2,3"
  6. echo.>tmp
  7. ::source.txt 代表原文件,1.txt,2.txt,3.txt代表要修改的选项
  8. if %choose%==1 (set secondfile=1.txt)
  9. if %choose%==2 (set secondfile=2.txt)
  10. if %choose%==3 (set secondfile=3.txt)
  11. (for /f "delims=" %%a in (source.txt) do (
  12. set str1=%%a
  13. set /p str2=
  14. set t1=!str1:~1,5!
  15. set t2=!str2:~1,5!
  16. if  !t1!==!t2!  ( echo !str2!>>tmp ) else ( echo !str1! >>tmp )
  17. ))<%secondfile%
  18. move /y tmp source.txt
  19. call %fp%
  20. pause
复制代码

TOP

回复 2# mqyphts


    没出现选择菜单 直接启动game

TOP

返回列表