Board logo

标题: 请大家帮帮忙 [打印本页]

作者: smallyun     时间: 2008-4-21 15:01    标题: 请大家帮帮忙
我想在一指定ini 指定的标记 [123] 里写入指定的内容,请问我该如何编写?
例如
我想在smallyun.ini文件的[baby]标记下插入行内容 baba我该怎么编写


假如smallyun.ini的内容是

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

我想在 [baby]与[yyy]之间插入内容,不知道如何编写。
高手请指点一下。

作者: terse     时间: 2008-4-21 15:38
@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

作者: smallyun     时间: 2008-4-22 10:22
非常感谢

作者: smallyun     时间: 2008-4-22 10:27
只能显示,不能写入到smallyun.ini文件里哦。

作者: bat-zw     时间: 2008-4-22 10:46    标题: 已测试:
@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

作者: 26933062     时间: 2008-4-22 10:55
楼上是用什么编辑器写的代码吧,很好看,但不利于阅读。
另:代码可以少一个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

作者: bat-zw     时间: 2008-4-22 11:03
我用的就是txt,这是我的书写习惯,呵呵。

作者: bat-zw     时间: 2008-4-22 11:12    标题: 谢谢指教:
是可以少个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

作者: smallyun     时间: 2008-4-22 11:28
非常感谢大家对我的帮忙,我会常来这里学习的。