标题: [文本处理] [已解决]批处理怎样实现文本替换? [打印本页]
作者: fanfande 时间: 2011-5-5 07:55 标题: [已解决]批处理怎样实现文本替换?
本帖最后由 fanfande 于 2011-5-10 08:09 编辑
一个txt文本里面原有的文本是这样的格式:
谷歌==htpp://www.google.com==全球最大的搜索引擎
百度==http://www.baidu.com==国内最大的搜索引擎
目的是转换另外一个格式:
谷歌,htpp://www.google.com,1
百度.http://www.baidu.com,1
最好是在生成的另外一个文本文件上!防止错误!还有个备份!
谢谢!
作者: fanfande 时间: 2011-5-5 08:50
上面有个地方更正一下
百度,http://www.baidu.com,1
这个也是逗号,我写成句号了
作者: hucuibai 时间: 2011-5-5 09:25
for /f "tokens=1-3 delims===" %%a in (log.txt) do echo %%a,%%b,1
作者: fanfande 时间: 2011-5-5 11:11
我运行了没有变化
txt文本中有N个这样的有规律的
谷歌==htpp://www.google.com==全球最大的搜索引擎
百度==http://www.baidu.com==中文引擎
搜狐==http://www.sohu.com==搜狐网
...
转换为以下格式:
谷歌,htpp://www.google.com,1
百度,http://www.baidu.com,1
搜狐,http://www.sohu.com,1
作者: fanfande 时间: 2011-5-5 11:55
请问有人吗
作者: hfg1977 时间: 2011-5-5 12:49
3 楼的代码没有任何问题.
作者: fanfande 时间: 2011-5-5 13:04
那我运行怎么没有任何反应呢
作者: fanfande 时间: 2011-5-5 13:05
我在结尾加了pause
看了一下
他就是没把结果存到另外一个文本里面!
麻烦帮我补全好吗
作者: hucuibai 时间: 2011-5-5 13:14
4# fanfande
如果跟你列出来的内容一样,应该是没有问题的,你把你的源文件的附件传上来,只需要传前面几行!
作者: hfg1977 时间: 2011-5-5 13:33
- (for /f "tokens=1-3 delims==" %%a in (log.txt) do echo %%a,%%b,1)>>youFileName
复制代码
作者: fanfande 时间: 2011-5-5 15:23
我传了2个文件就是这样的类似的格式
生成一个新的txt存放处理好的命名为 处理后.txt
处理前.txt 这是是处理前的样子
处理后.txt 这是是处理后的样子
作者: hucuibai 时间: 2011-5-5 16:30
本帖最后由 hucuibai 于 2011-5-5 16:31 编辑
你的文本是utf-8格式的,读出来的是乱码,先要转换一下格式- @echo off
- concmd /o:gbk 处理前.txt>nul
- for /f "tokens=1-3 delims===" %%a in (处理前.txt) do echo %%a.%%b,1
- pause
复制代码
concmd.exe下载地址
http://www.xdowns.com/soft/4/68/2009/Soft_50143.html
作者: fanfande 时间: 2011-5-5 17:15
老师
你好
运行下来还是显示的错误的
作者: hucuibai 时间: 2011-5-5 17:18
13# fanfande
下载地址不是给你了吗?我楼上都贴出来了!你去下载下来放到system32文件夹下
concmd.exe下载地址
http://www.xdowns.com/soft/4/68/2009/Soft_50143.html
作者: fanfande 时间: 2011-5-5 17:55
你好老师!
运行下来没有生成新的txt: 处理后.txt 用来存放处理的结果!
作者: fanfande 时间: 2011-5-5 18:29
14# hucuibai
你好老师!
运行下来没有把生成的结果放在处理后.txt这个文本里面!
作者: Batcher 时间: 2011-5-5 22:44
11# fanfande
能把处理前的文件上传到顶楼不?顺便改一下顶楼那个标点错误?
作者: fanfande 时间: 2011-5-6 01:07
我把几个图拼在一起让大家看清楚!
谢谢老师们!
作者: fanfande 时间: 2011-5-6 01:10
图的附件太大,我把他放在一个空间里面!
谢谢老师们!
作者: hucuibai 时间: 2011-5-6 09:00
本帖最后由 hucuibai 于 2011-5-6 09:05 编辑
19# fanfande
重定向你都不知道吗?结果已经显示出来了,你重定向到处理后.txt就可以了- @echo off
-
- concmd /o:gbk 处理前.txt>nul
-
- for /f "tokens=1-3 delims===" %%a in (处理前.txt) do (echo %%a,%%b,1>>处理后.txt)
-
- pause
复制代码
作者: CrLf 时间: 2011-5-6 12:53
少尉不知道重定向...
作者: fanfande 时间: 2011-5-6 16:02
20# hucuibai
离成功越来越近了!
就是现在每行生成的结果逗号后面没有出现数字"1"
正确的格式如下:
谷歌.htpp://www.google.com,1
百度.http://www.baidu.com,1
搜狐.http://www.sohu.com,1
再次表示谢谢!
作者: user11 时间: 2011-5-6 16:45
- (for /f %%a in (处理后.txt) do echo %%a1)>>再处理后.txt
复制代码
作者: hucuibai 时间: 2011-5-6 17:41
本帖最后由 hucuibai 于 2011-5-6 17:49 编辑
22# fanfande - @echo off
-
- concmd /o:gbk 处理前.txt>nul
-
- (for /f "tokens=1-3 delims===" %%a in (处理前.txt) do echo %%a,%%b,1)>处理后.txt
-
- pause
复制代码
我这里测试是成功的
作者: fanfande 时间: 2011-5-6 20:11
谢谢您!
顺祝周末愉快!
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |