找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 23651|回复: 2

[文本处理] 批处理如何实现选择菜单&ini文件字符串替换?

[复制链接]
发表于 2015-6-8 21:59:42 | 显示全部楼层 |阅读模式
某文件下内有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文件
请大侠指导
发表于 2015-6-9 11:22:30 | 显示全部楼层
本帖最后由 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
复制代码
 楼主| 发表于 2015-6-9 22:08:19 | 显示全部楼层
回复 2# mqyphts


    没出现选择菜单 直接启动game
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-19 01:18 , Processed in 0.009318 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表