中国DOS联盟论坛

中国DOS联盟

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

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

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 求一修改TXT文件指定的某行的数字
作者:
标题: 求一修改TXT文件指定的某行的数字 上一主题 | 下一主题
yhshiro
初级用户





积分 130
发帖 59
注册 2007-12-25
状态 离线
『楼 主』:  求一修改TXT文件指定的某行的数字



  Quote:
[标题][颜色=X]公  告
[标题][颜色=Y]广  告

我要修改上面这行的X  Y把它弄成随机的1~12的随机一个数字,但是2个数字不能一样

两行是分开的不在一起,要能指定修改第几行的这串数字。。。

上面红色的部分是不变的

2008-4-24 18:20
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
terse
银牌会员





积分 2404
发帖 946
注册 2005-9-8
状态 离线
『第 2 楼』:  

测试行号是3和4 不知道合你意思不
@echo off&setlocal enabledelayedexpansion
for /f "delims=" %%i in (test.txt) do (
    set "str=%%i"
    set/a m+=1,s+=1
    if !m! equ 3 call:lp
    if !s! equ 4 call:lp
    echo !str!>>test1.txt
)
pause
goto :eof
:lp
set/a n=%random%%%12+1
if defined !n! goto lp
set str=!str:9]=%n%]!&set !n!=!n!
不指定行  也可以下面的 不知道你的X Y 确定否  改个通用的
@echo off&setlocal enabledelayedexpansion
for /f "tokens=1* delims=" %%i in (test.txt) do (
    set str=%%i
    if "!str:~0,8!"=="[标题][颜色=" call:lp
    echo !str!>>test1.txt
)
pause
:lp
    set/a n=%random%%%12+1
    if defined !n! goto lp
    set str=!str:~0,8!%n%!str:~9!
[ Last edited by terse on 2008-4-24 at 07:10 PM ]

   此帖被 +2 点积分    点击查看详情   
评分人:【 yhshiro 分数: +2  时间:2008-4-25 13:07




简单!简单!再简单!
2008-4-24 18:57
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
bat-zw
金牌会员

永远的学习者


积分 3105
发帖 1276
注册 2008-3-8
状态 离线
『第 3 楼』:  

如要重写a.txt就要另外修改
@echo off&setlocal enabledelayedexpansion
:begin
set /a a=%random%%%12+1,b==%random%%%12+1
if %a% equ %b% goto begin
for /f "delims=" %%i in (a.txt) do (
     set str=%%i
     set str=!str:X]=%a%]!
     set str=!str:y]=%b%]!
     echo !str!
)
pause>nul
[ Last edited by zw19750516 on 2008-4-24 at 09:52 PM ]



批处理之家新域名:www.bathome.net
2008-4-24 19:04
查看资料  发送邮件  发短消息 网志  OICQ (841615149)  编辑帖子  回复  引用回复
yhshiro
初级用户





积分 130
发帖 59
注册 2007-12-25
状态 离线
『第 4 楼』:  

非常谢谢。。。
...不过好象有的还是对不住你。。我今天的分加完了。。

对不起,您最近 24 小时评分数超过 5 点 限制,请返回。


对不起哈

2008-4-24 19:23
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
slore
铂金会员





积分 5212
发帖 2478
注册 2007-2-8
状态 离线
『第 5 楼』:  

貌似没有用delims==]的方式的……

[ Last edited by slore on 2008-4-24 at 08:46 PM ]

2008-4-24 20:42
查看资料  发短消息 网志   编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: