中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-06-14 06:57
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 如何只提取文本文件中指定的内容
楼 主 如何只提取文本文件中指定的内容 发表于 2007-01-06 22:36 ·  中国 浙江 杭州 华数宽带
初级用户
积分 76
发帖 29
注册 2006-11-18 23:59
UID 70996
性别 男
状态 离线
以下文件 我只要纳税人识别号和纳税人名称 其他都不要 请问如何实现??

系统为WINXP SP2 文件为文本文件 SFHR.txt 样式如下:
<RECORD 纳税人识别号="111111111111111" 纳税人名称="测试测试测试测试" 状态="0" 地址="" 邮编="" 联系人="" 联系电话="" />
<RECORD 纳税人识别号="111111111111112" 纳税人名称="杭州技术有限公司" 状态="0" 地址="" 邮编="" 联系人="" 联系电话="" />

现我只想保留:

111111111111111 测试测试测试测试
111111111111112 杭州技术有限公司

[ Last edited by namejm on 2007-1-6 at 08:57 PM ]
2 发表于 2007-01-06 22:56 ·  中国 北京 联通
银牌会员
★★★
努力做坏人
积分 1,185
发帖 438
注册 2006-08-28 12:00
UID 61449
来自 北京
状态 离线

for /f "tokens=3,5 delims== " %a in (sfhr.txt) do @echo %~a %~b
本帖最近评分记录 (共 1 条) 点击查看详情
评分人分数时间
redtek +5 2007-01-07 00:40
我今后在论坛的目标就是做个超级坏人!!!
3 发表于 2007-01-06 23:52 ·  中国 浙江 杭州 华数宽带
初级用户
积分 76
发帖 29
注册 2006-11-18 23:59
UID 70996
性别 男
状态 离线
好象不行哦  !!!测试通不过
4 发表于 2007-01-07 00:37 ·  中国 北京 东城区 联通
金牌会员
★★★★
积分 2,902
发帖 1,147
注册 2006-09-21 12:00
UID 63324
性别 男
状态 离线
我测试着可以~:)

CMD Shell 下直接输入命令运行测试:



C:\TEMP\str>for /f "tokens=3,5 delims== " %a in (sfhr.txt) do @echo %~a %~b
111111111111111 测试测试测试测试
111111111111112 杭州技术有限公司



9527兄在for命令里用的是一个%号(代表是直接在命令行上运行的,不能写到.bat文件中运行)。所以lanlinlan兄直接运行即可。

如果希望写到批处理文件内,就用双%号~:)
    Redtek,一个永远在网上流浪的人……

_.,-*~'`^`'~*-,.__.,-*~'`^`'~*-,._,_.,-*~'`^`'~*-,._,_.,-*~'`^`'~*-,._
5 发表于 2007-01-07 02:26 ·  中国 甘肃 甘南藏族自治州 合作市 电信
金牌会员
★★★★
积分 4,103
发帖 1,744
注册 2006-01-20 13:00
UID 49241
性别 男
来自 甘肃.临泽
状态 离线
sed "s/.*\([0-9]\{15\}\).*\([^0-9=\x22]\{16\}\).*/\1 \2/" SFHR.txt
本帖最近评分记录 (共 1 条) 点击查看详情
评分人分数时间
redtek +5 2007-01-07 02:31
6 发表于 2007-01-07 09:39 ·  中国 香港 腾讯云
初级用户
积分 76
发帖 29
注册 2006-11-18 23:59
UID 70996
性别 男
状态 离线
呵呵 厉害 直接在CMD里是可以的哦 只是我想输出为a.txt
for /f "tokens=3,5 delims== " %%a in (sfhr.txt) do @echo %%~a %%b >>a.txt

为什么输出的样子为:

111111111111111 "测试测试测试测试"
111111111111112 "杭州技术有限公司"

要去掉引号改怎么写啊?
7 发表于 2007-01-07 09:42 ·  中国 广东 电信
荣誉版主
★★★★
batch fan
积分 5,226
发帖 1,737
注册 2006-03-10 00:38
UID 51697
来自 成都
状态 离线
  把 %%b 换成 %%~b 。
尺有所短,寸有所长,学好CMD没商量。
考虑问题复杂化,解决问题简洁化。
8 发表于 2007-01-07 09:54 ·  中国 香港 腾讯云
初级用户
积分 76
发帖 29
注册 2006-11-18 23:59
UID 70996
性别 男
状态 离线
呵呵 真的很感谢大家 搞定了!!!
论坛跳转: