中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-08-09 07:01
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 请教一个关于批处理修改配置文件的编写方法~! 查看 773 回复 2
楼 主 请教一个关于批处理修改配置文件的编写方法~! 发表于 2008-07-24 15:18 ·  中国 广东 深圳 电信
初级用户
积分 31
发帖 15
注册 2007-11-26 15:40
18年会员
UID 103825
性别 男
状态 离线
请教一个关于批处理修改配置文件的编写方法~!
问题一:
如果用批处理器把系统时间(格式为20080724)写入到配置文件1.ini中的第二十行第10个汉字以后。
问题二:
如果用批处理器把配置文件1.ini第七行第七个字母后的内容删除。
谢谢~!
2 发表于 2008-07-24 15:47 ·  中国 重庆 九龙坡区 电信
版主
★★★★★
积分 9,023
发帖 5,017
注册 2007-05-31 19:39
19年会员
UID 89899
性别 男
状态 离线
能把你的配置文件内容贴出来看看吗?
3 发表于 2008-07-24 16:31 ·  中国 湖南 株洲 电信
金牌会员
★★★★
永远的学习者
积分 3,105
发帖 1,276
注册 2008-03-08 13:00
18年会员
UID 112398
性别 男
状态 离线
Originally posted by heyoug at 2008-7-24 15:18:
请教一个关于批处理修改配置文件的编写方法~!
问题一:
如果用批处理器把系统时间(格式为20080724)写入到配置文件1.ini中的第二十行第10个汉字 ...

我已在批处理之家给出答案,楼主可去看看。
帖子内容如下:
首先指出直接写入是不可能的,但可以进行改写:
问题一:
@echo off&setlocal enabledelayedexpansion
set t=%date:~,-4%&set t=!t:-=!
for /f "delims=" %%i in ('type 1.ini') do (
set /a n+=1
if !n! equ 1 (
echo %%i>1.ini
) else (
if !n! equ 20 (
set "str=%%i"&set m=0&call :lp
echo %str%>>1.ini
) else (
echo %%i>>1.ini
)))
echo 搞定&pause>nul&goto :eof
:lp
set "a=%str:~,1%"&set "var=%var%!a!"
if "%a%" gtr "z" set / a m+=1
if %m% equ 10 set "str=%var%%t%%str%"&goto :eof
set "str=%str:~1%"&goto lp
问题二:
只要把以上代码稍做修改可以了
@echo off&setlocal enabledelayedexpansion
for /f "delims=" %%i in ('type 1.ini') do (
set /a n+=1
if !n! equ 1 (
echo %%i>1.ini
) else (
if !n! equ 7 (
set "str=%%i"&set m=0&call :lp
echo %var%>>1.ini
) else (
echo %%i>>1.ini
)))
echo 搞定&pause>nul&goto :eof
:lp
set "a=%str:~,1%"&set "var=%var%!a!"
if "%a%" leq "z" set / a m+=1
if %m% equ 7 goto :eof
set "str=%str:~1%"&goto lp


[ Last edited by bat-zw on 2008-7-24 at 11:11 PM ]
批处理之家新域名:www.bathome.net
论坛跳转: