中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

中国DOS联盟论坛
现在时间是 2026-08-08 07:13
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 请大家帮帮忙 查看 705 回复 8
楼 主 请大家帮帮忙 发表于 2008-04-21 15:01 ·  中国 广东 清远 电信
新手上路
积分 10
发帖 4
注册 2008-04-21 11:08
18年会员
UID 116481
性别 男
状态 离线
我想在一指定ini 指定的标记 [123] 里写入指定的内容,请问我该如何编写?
例如
我想在smallyun.ini文件的[baby]标记下插入行内容 baba我该怎么编写


假如smallyun.ini的内容是

[123]
1111=
456=
888=
[baby]
1234=
aaaa=
[yyy]
qqq=
www=

我想在 [baby]与[yyy]之间插入内容,不知道如何编写。
高手请指点一下。
2 发表于 2008-04-21 15:38 ·  中国 江苏 常州 溧阳市 电信
银牌会员
★★★
积分 2,404
发帖 946
注册 2005-09-08 13:44
20年会员
UID 42345
状态 离线
@echo off&setlocal enabledelayedexpansion
for /f "delims=" %%i in (smallyun.ini) do (
echo %%i
if "%%i"=="[baby]" set n=a
if defined n echo 插入aaaaa&set n=
)
pause
简单!简单!再简单!
3 发表于 2008-04-22 10:22 ·  中国 广东 清远 电信
新手上路
积分 10
发帖 4
注册 2008-04-21 11:08
18年会员
UID 116481
性别 男
状态 离线
非常感谢
4 发表于 2008-04-22 10:27 ·  中国 广东 清远 电信
新手上路
积分 10
发帖 4
注册 2008-04-21 11:08
18年会员
UID 116481
性别 男
状态 离线
只能显示,不能写入到smallyun.ini文件里哦。
5 已测试: 发表于 2008-04-22 10:46 ·  中国 湖南 株洲 电信
金牌会员
★★★★
永远的学习者
积分 3,105
发帖 1,276
注册 2008-03-08 13:00
18年会员
UID 112398
性别 男
状态 离线
@echo off&setlocal enabledelayedexpansion
for /f "delims=" %%i in ('type smallyun.ini') do (
set /a n+=1
if !n! equ 1 (
echo %%i>smallyun.ini
) else (
if "%%i"=="" (
echo %%i>>smallyun.ini&echo baba>>smallyun.ini
) else (
echo %%i>>smallyun.ini
)
)
)
)
pause>nul
批处理之家新域名:www.bathome.net
6 发表于 2008-04-22 10:55 ·  中国 湖南 娄底 电信
银牌会员
★★★
积分 2,268
发帖 879
注册 2006-12-19 16:23
19年会员
UID 73968
性别 男
状态 离线
楼上是用什么编辑器写的代码吧,很好看,但不利于阅读。
另:代码可以少一个if判断。

@echo off
for /f "delims=" %%i in ('type smallyun.ini') do (
if not defined n (
set n=a&echo %%i>smallyun.ini
) else >>smallyun.ini echo %%i
if "%%i"=="" >>smallyun.ini echo baba
)
pause>nul
致精致简!
7 发表于 2008-04-22 11:03 ·  中国 湖南 株洲 电信
金牌会员
★★★★
永远的学习者
积分 3,105
发帖 1,276
注册 2008-03-08 13:00
18年会员
UID 112398
性别 男
状态 离线
我用的就是txt,这是我的书写习惯,呵呵。
批处理之家新域名:www.bathome.net
8 谢谢指教: 发表于 2008-04-22 11:12 ·  中国 湖南 株洲 电信
金牌会员
★★★★
永远的学习者
积分 3,105
发帖 1,276
注册 2008-03-08 13:00
18年会员
UID 112398
性别 男
状态 离线
是可以少个if,我怎么没想到,谢谢指教,修改如下:
@echo off&setlocal enabledelayedexpansion
for /f "delims=" %%i in ('type smallyun.ini') do (
set /a n+=1
if !n! equ 1 (
echo %%i>smallyun.ini
) else (
echo %%i>>smallyun.ini
if "%%i"=="" echo baba>>smallyun.ini
)
)
pause>nul
批处理之家新域名:www.bathome.net
9 发表于 2008-04-22 11:28 ·  中国 广东 清远 电信
新手上路
积分 10
发帖 4
注册 2008-04-21 11:08
18年会员
UID 116481
性别 男
状态 离线
非常感谢大家对我的帮忙,我会常来这里学习的。
论坛跳转: