中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-08-18 17:23
中国DOS联盟论坛 » DOS疑难解答 & 问题讨论 (解答室) » 这个主题不好说明白,进来看一下!非常难! 查看 932 回复 8
楼 主 这个主题不好说明白,进来看一下!非常难! 发表于 2007-03-29 05:04 ·  中国 山东 潍坊 电信
中级用户
★★
积分 201
发帖 75
注册 2007-02-24 00:26
19年会员
UID 80034
性别 男
状态 离线
现有一TXT内容 为一五笔编码表

若词后有多个编码则有空格分开,词和第一编码是紧接的, 每行只有一个词,行数很多。

工A
式AAD
工AAAA
工A AAA
工期AAAD
....
....

在这文件中
同一个词存在多次, 且其后的编码也不同 如 工 有时为A 有时为AAAA 有时为 A AAAA
我想做一五笔反查BAT
想把以上转为
SET 工=A AAA AAAA
SET 工期=AAAD
.....
.....
.....
的格式

要求

如工则为


工A
工AAAA
工A AAA

得到
SET 工=A AAA AAAA

就是把工的编码全取出来,做为一个,多的去掉!
2 发表于 2007-03-29 05:40 ·  中国 河北 保定 联通
铂金会员
★★★★
网络独行侠
积分 6,962
发帖 2,753
注册 2003-04-16 00:00
23年会员
UID 1565
性别 男
来自 河北保定
状态 离线
用批处理做不了这个操作。至少我不知道如何做。
偶只喜欢回答那些标题和描述都很清晰的帖子!
如想解决问题,请认真学习“这个帖子”和“这个帖子”并努力遵守,如果可能,请告诉更多的人!
3 发表于 2007-03-29 06:02 ·  中国 山东 潍坊 电信
中级用户
★★
积分 201
发帖 75
注册 2007-02-24 00:26
19年会员
UID 80034
性别 男
状态 离线
WHO CAN HELP ME

这么多的词,用手得到那年呀!

要不把里面的相同字词去掉也行

比如说
工得到 SET 工=A

SET 工=AAA

只要得一个就行,不用全
4 发表于 2007-03-29 07:55 ·  中国 四川 成都 教育网
中级用户
★★
积分 346
发帖 103
注册 2004-04-06 00:00
22年会员
UID 21852
性别 男
状态 离线
p处理不是拿来处理文本的。p处理是拿来集合命令的
5 发表于 2007-03-29 22:19 ·  中国 海南 儋州 电信
初级用户
★★
积分 199
发帖 101
注册 2007-03-13 01:44
19年会员
UID 81536
状态 离线
Originally posted by hy433124shc at 05:02 PM:
WHO CAN HELP ME

这么多的词,用手得到那年呀!

要不把里面的相同字词去掉也行

比如说
工得到 SET 工=A

SET 工=AAA

只要得一个就行,不用全


用WORD就行了吧
6 发表于 2007-03-29 23:15 ·  中国 河北 保定 联通
铂金会员
★★★★
网络独行侠
积分 6,962
发帖 2,753
注册 2003-04-16 00:00
23年会员
UID 1565
性别 男
来自 河北保定
状态 离线
你可以用vb或者vbsrcipt这种具有字符串处理功能的编程语言来操作。
偶只喜欢回答那些标题和描述都很清晰的帖子!
如想解决问题,请认真学习“这个帖子”和“这个帖子”并努力遵守,如果可能,请告诉更多的人!
7 发表于 2007-03-30 05:02 ·  中国 浙江 杭州 华数宽带
银牌会员
★★★
积分 2,000
发帖 621
注册 2007-01-01 00:00
19年会员
UID 75212
性别 男
状态 离线
批处理是不善于处理文本的
8 发表于 2007-03-30 05:08 ·  中国 甘肃 平凉 电信
金牌会员
★★★★
积分 4,103
发帖 1,744
注册 2006-01-20 13:00
20年会员
UID 49241
性别 男
来自 甘肃.临泽
状态 离线
原理上可以做,但我想很复杂
9 发表于 2007-03-30 06:10 ·  中国 福建 泉州 电信
银牌会员
★★★
积分 1,276
发帖 469
注册 2002-12-23 13:00
23年会员
UID 586
性别 男
来自 福建泉州
状态 离线
使用批处理的效率应该不是很高
给你一个参考 .


  1. @echo off
  2. set 编码表=test.txt
  3. set /p word=请输入要查询的字词:
  4. setlocal ENABLEDELAYEDEXPANSION
  5. for /f "usebackq tokens=1* delims=%word%" %%i in (`findstr /r "^%word%" %编码表%`) do (
  6. set bm=!bm! %%i
  7. )
  8. echo %word%=%bm%
  9. endlocal
chenall 发表于: 2007-03-29 17:03


[ Last edited by chenall on 2007-3-30 at 06:13 AM ]
QQ:366840202
http://chenall.net
论坛跳转: