中国DOS联盟论坛

中国DOS联盟

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

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

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 如何将文本第二行中的034替换成34
作者:
标题: 如何将文本第二行中的034替换成34 上一主题 | 下一主题
lokilu
新手上路





积分 15
发帖 9
注册 2008-2-24
状态 离线
『楼 主』:  如何将文本第二行中的034替换成34

有这样的一个文件,它的第二行中有一个数值为0344499084,现在想将34前面的0去掉,此数值有可能在下面的其他行中也有,但只需要将第二行中的数据034替换成34就可以了,请高手指导一下问如何写这样的批处理。万分感谢!

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

DOS一根葱


积分 5493
发帖 2315
注册 2006-5-1
来自 上海
状态 离线
『第 2 楼』:  


@echo off
>test.txt  echo 0344499084一
>>test.txt echo 0344499084二
>>test.txt echo 0344499084三
for /f "tokens=1,2* delims=:" %%i in ('type "test.txt"^|findstr /b /n "034"') do (
        if "%%i"=="2" set "str=%%j"
)
set "str=%str:034=34%"
echo %str%
pause
缺陷0344499034二会有问题



第一高手    第二高手

2008-2-24 23:48
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
lokilu
新手上路





积分 15
发帖 9
注册 2008-2-24
状态 离线
『第 3 楼』:  

首先谢谢fastslz热情帮助,刚刚我测试一下,好象有问题,我只是想将文本中第二行中034的数值改成34就可以了,不需要改更其他地方的数值。谢谢你的帮助!

2008-2-25 00:19
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
lxmxn
版主




积分 11386
发帖 4938
注册 2006-7-23
状态 离线
『第 4 楼』:  


@echo off & Setlocal EnableDelayedExpansion
for /f "tokens=1* delims=:" %%i in ('findstr /n .* test.txt') do (
        set string=%%j
        if "%%i"=="2" (set string=!string:034=34!)
        >>new-file.txt echo\!string!
)
start notepad new-file.txt


2008-2-25 00:48
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
lokilu
新手上路





积分 15
发帖 9
注册 2008-2-24
状态 离线
『第 5 楼』:  

lxmxn,谢谢您的帮助,可能是我没有表达清楚,我的需求是这样的,当前我只需要去掉某一类文本文件中某一行的某一个数值前的“0”,例如我想去掉下面文本文件第二行中034前面的“0”,其他地方(第三行及第四中034)如有相同的数据不能修改,并且其他数据也不变。谢谢!

HDR^001247546^7123192419^N^20080101^763747^20080102^OOCL
PPL^826694001^0504^HKGSHA0129^0341510257
CTN^14^0349284015373506889^10^000^0000^0000^0000^0000
CTN^14^03469284015373506889^10^000^0000^0000^0000^0000

2008-2-25 18:26
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
lxmxn
版主




积分 11386
发帖 4938
注册 2006-7-23
状态 离线
『第 6 楼』:  

如果你连别人写的代码测试都不测试一下的话,那我也没办法再去看你的问题了。

2008-2-26 01:15
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
AlexZhang
系统支持





积分 952
发帖 410
注册 2007-2-8
状态 离线
『第 7 楼』:  

正则表达式

2008-2-26 01:26
查看资料  访问主页  发短消息 网志   编辑帖子  回复  引用回复
fastslz
铂金会员

DOS一根葱


积分 5493
发帖 2315
注册 2006-5-1
来自 上海
状态 离线
『第 8 楼』:  

这种帖子简直浪费人力和精力~



第一高手    第二高手

2008-2-26 09:34
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
lokilu
新手上路





积分 15
发帖 9
注册 2008-2-24
状态 离线
『第 9 楼』:  

对不起各位,让各位误解了,之前我有做过测试,可能是我测试的数据源有问题,所以导致测试结果不对,因而我误认为此脚本有问题,真是对不起lxmxn,我刚刚再次测试一下,非常顺利,谢谢各位帮忙!

2008-2-26 16:46
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复

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


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



论坛跳转: