![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-08-06 22:28 |
共 48,039 主题排行 / 350,124 发帖 / 今日 0 篇 / 48,252 会员排行 |
| DOS批处理 & 脚本技术(批处理室) » 求一个修改ini文件的批处理 |
| 可打印版本 1,894 / 15 |
| 第1楼 fzfchao | 发表于 2007-04-03 10:34 |
| 初级用户 发帖 18 积分 37 | |
|
求一个修改ini文件的批处理 Config.ini文件中有个路径:
[Other] LanguageID=2052 Last=39155 BossKey=Shift+Ctrl+Z [network] OutLocalTcpPort=3938 OutLocalUdpPort=4523 LocalTcpPort=3044 LocalUdpPort=2734 MaxAppPeerCount=25 MaxConnectPendingCount=50 Upnp=1 WMPPath=E:\MPUI\MPUI.exe RMPath=E:\MPUI\MPUI.exe [network_BandWidth] CustomBandWidth=0 MaxDnBandWidth=1 MaxUpBandWidth=1024 [network_PeerAgent] PeerAgent=0 PeerAgentType= PeerAgentServerName= 如何用批处理把其中 WMPPath=E:\MPUI\MPUI.exe RMPath=E:\MPUI\MPUI.exe 中的路径E:\MPUI\MPUI.exe修改为%TP%\MPUI\MPUI.exe (%TP%\MPUI\MPUI.exe为相对路径,要先转为绝对路径后再修改到INI文件中) |
|
| 第2楼 lxmxn | 发表于 2007-04-04 01:15 |
| 版主 发帖 4,938 积分 11,386 | |
|
|
|
| 第3楼 wudixin96 | 发表于 2007-04-04 01:30 |
| 银牌会员 发帖 931 积分 1,928 | |
|
lxmxn果然厉害。没有能难到你的。
佩服佩服。 |
|
| 第4楼 a201341717 | 发表于 2007-04-04 02:39 |
| 贫困用户 发帖 20 积分 -2 | |
![]() |
|
| 第5楼 cracky | 发表于 2007-12-12 15:23 |
| 初级用户 发帖 10 积分 28 | |
|
我有疑问,如果在echo !str!|findstr /i "Path=" >nul && set str=!str:E:=%TP%!&echo !str! >>new_config.ini||echo !str!>>new_config.ini中的%TP%需要用!TP!来表示时,是写成set str=!str:E:=!TP!!吗
|
|
| 第6楼 huahua0919 | 发表于 2007-12-12 15:38 |
| 银牌会员 发帖 780 积分 1,608 | |
|
是的,你学的很快,我给你加分
|
|
| 第7楼 cracky | 发表于 2007-12-12 15:51 |
| 初级用户 发帖 10 积分 28 | |
|
不对,我试过,这样是不行的,假设我的被替换文本是a.txt其中格式是
a=1kk b=2kk c=3kk 如果我前面设置变量TP是4我用set str=!str:3=!TP!!的方法去改变c的值结果是生成的结果是 a=1kk b=2kk c=kkTP |
|
| 第8楼 huahua0919 | 发表于 2007-12-12 16:01 |
| 银牌会员 发帖 780 积分 1,608 | |
|
%PATH:str1=str2%
只能是字符替换! 你的和斑竹的有差别,你好好看上面他的帖子@! |
|
| 第9楼 cracky | 发表于 2007-12-13 08:48 |
| 初级用户 发帖 10 积分 28 | |
|
不明白我的和斑竹的有什么差别,仅仅是斑竹用的是%TP%,而我想使用!TP!而已.
而且我又发现了一个问题,如果查找到的内容是一个带&的字串,比如说是a=jdbc\:mysql\://localhost\:3306/digdb?useUnicode\=true&characterEncoding\=GBK那么,当我意图更换3306的时候就会告诉我:'characterEncoding\' 不是内部或外部命令,也不是可运行的程序,难道说符号&有特殊的意义?请前辈明示 |
|
| 第10楼 huahua0919 | 发表于 2007-12-18 09:37 |
| 银牌会员 发帖 780 积分 1,608 | |
|
set str=!str:3=!TP!!
问题很简单,因为变量延迟开启以后,解析器每次对一行进行解析的时候,会查找其中是否有!,而上面这个简单的式子中存在两对!!,但解析器根本不知道那对对那对(其实是从左到右进行匹配的)所以,解析器会先分析!str:3=!这个变量, 而在这之前这个变量没有定义,所以就被定义成空了,后面的也是这样! |
|
| 第11楼 huahua0919 | 发表于 2007-12-18 09:38 |
| 银牌会员 发帖 780 积分 1,608 | |
|
双层!!欠套是非常危险的问题
|
|
| 第12楼 everest79 | 发表于 2007-12-18 11:44 |
| 金牌会员 发帖 1,127 积分 2,564 | |
|
同一句中不充许出现两个相同级别,相同类型的转义
有过这样的例子 set/aa=123,b=9 call echo %^a:1=%b%% 命令行下 |
|
| 第13楼 huahua0919 | 发表于 2007-12-18 21:19 |
| 银牌会员 发帖 780 积分 1,608 | |
Originally posted by everest79 at 2007-12-18 11:44 AM: 以下也是两个相同级别,相同类型的,不需要转义后同样能运行! 按照匹配原则,会将替换所有%x%,可结果却不是那样! @echo off set x=hehe echo %date:~-3%x%date:~2% pause |
|
| 第14楼 everest79 | 发表于 2007-12-18 22:10 |
| 金牌会员 发帖 1,127 积分 2,564 | |
|
记得论坛里的前辈讲过,匹配是以先左后右优先处理的,你将date换成个不存的变量看看
|
|
| 第15楼 huahua0919 | 发表于 2007-12-18 22:16 |
| 银牌会员 发帖 780 积分 1,608 | |
|
那"同一句中不充许出现两个相同级别,相同类型的转义"又为何解?
不是很明白,还望指点! |
|
| 1 2 下一页 |
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |