中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-13 00:11
47,811 主题排行 / 349,897 发帖 / 今日 0 篇 / 48,256 会员排行
DOS批处理 & 脚本技术(批处理室) » 批处理怎样实现修改配置文件最后行内容?
可打印版本  1,045 / 5
第1楼 qwertl 发表于 2009-12-14 10:23
中级用户 发帖 243 积分 461
批处理怎样实现修改配置文件最后行内容?
有个conf.ini文件的最后几行是如下这样的格式:

......
IP 0=192.168.3.8
IP 1=192.168.0.2
IP 2=192.168.1.3


怎样用批处理仅修改最后一行的IP参数?
现要将最后行IP 2=192.168.1.3改成IP 2=192.168.2.8用批处理该怎样实现??

可否自动删最后一行?再 echo IP 2=192.168.2.8>>conf.ini

但批处理要怎样每次将最后一行删掉呢?
第2楼 HAT 发表于 2009-12-14 14:25
版主 发帖 5,017 积分 9,023
第3楼 qwertl 发表于 2009-12-15 20:16
中级用户 发帖 243 积分 461
@echo off
for /f "tokens=15 skip=1" %%i in ('ipconfig ^| find /i "ip address"') do set ip2=%%i
sed -i '$ s/.*/IP 2=%ip2%/g' c:\wd\config.ini
这样解决了修改末行的参数。

谢谢hat!现又碰到个难题了。

现有个配置文件cf.ini,要修改其中间一行的参数,想通过批理获取的ip附加到
HostRestrictions=12.13.2.16\/192.168.91.5这行后面,每次增加个新IP需用\/隔开。其它内容都不变。

配置文件内容格式如下,(HostRestrictions字符串在整个文件中两次存在此,HostRestrictionsAllow)
......

HostRestrictions=12.13.2.16\/192.168.91.5
HostRestrictionsAllow=1
......

[ Last edited by qwertl on 2009-12-15 at 20:22 ]
第4楼 HAT 发表于 2009-12-15 21:17
版主 发帖 5,017 积分 9,023
Re 3楼
第5楼 qwertl 发表于 2010-01-05 20:26
中级用户 发帖 243 积分 461
谢谢hat.

conf.ini文件的最后几行是如下这样的格式:

......
IP 0=192.168.3.8
IP 1=192.168.0.2
IP 2=192.168.1.3

怎样将conf.ini文件的最后一行的值192.168.1.3定义为一个变量值,然后与如下的语句获取的%ip2%对比




对比如果与%ip2%值相同则批处理结束,如果相比IP值不同则执行如下语句后结束:



[ Last edited by qwertl on 2010-1-6 at 18:29 ]
第6楼 qwertl 发表于 2010-01-06 18:30
中级用户 发帖 243 积分 461
人呢?去忙什么了??
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023