中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-08-05 00:01
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » [解决了] 可以用批量处理写一个查询工具吗(解决) 查看 1,367 回复 14
楼 主 [解决了] 可以用批量处理写一个查询工具吗(解决) 发表于 2007-05-28 20:35 ·  中国 香港 腾讯云
初级用户
积分 67
发帖 26
注册 2007-05-14 14:29
19年会员
UID 88487
性别 男
状态 离线
可以用批量处理写一个查询工具吗

程序内容:

background 背景
bachward 后退
bold 粗体
bookmark 书签
border 边框
bottom 底部
browse 浏览
bullets 项目符号

比如运行后有一个窗口你输入英文相对的中文就出现。要是输入的英文在这个里面没有的话就提示:无。

不知道我的表达能力是不是很清楚,先说一下,我是一个菜菜鸟:)
可以的话直接帮我写出来。

[ Last edited by cheng54550 on 2007-5-28 at 09:52 PM ]
2 发表于 2007-05-28 21:22 ·  中国 湖北 武汉 电信
版主
★★★★★
积分 11,386
发帖 4,938
注册 2006-07-23 17:10
20年会员
UID 59080
状态 离线
@echo off
:loop
cls&set name=
set /p name=请输入英文单词:
if not defined name goto loop
for /f "tokens=2" %%a in ('find /i "%name%" ^<aa.txt ^|^| echo lxmxn 无') do (echo\%%a)
pause
goto loop


如果输入的英文关键字只有"bac",那么就会显示:
背景
后退
本帖最近评分记录 (共 1 条) 点击查看详情
评分人分数时间
cheng54550 +1 2007-05-29 19:47
3 发表于 2007-05-28 21:36 ·  中国 香港 腾讯云
初级用户
积分 67
发帖 26
注册 2007-05-14 14:29
19年会员
UID 88487
性别 男
状态 离线
傻傻的问一句,我的内容在那啊。表生气啊...
4 发表于 2007-05-28 21:36 ·  中国 湖北 武汉 电信
版主
★★★★★
积分 11,386
发帖 4,938
注册 2006-07-23 17:10
20年会员
UID 59080
状态 离线
把你的内容保存为aa.txt文件。
5 发表于 2007-05-28 21:45 ·  中国 香港 腾讯云
初级用户
积分 67
发帖 26
注册 2007-05-14 14:29
19年会员
UID 88487
性别 男
状态 离线
呵呵 可以了,谢谢斑斑。辛苦了^_^
6 发表于 2007-05-29 10:29 ·  中国 香港 腾讯云
初级用户
积分 67
发帖 26
注册 2007-05-14 14:29
19年会员
UID 88487
性别 男
状态 离线
斑斑,你可以帮我去掉关键字吗,就是输入A什么的就提示无,除非输入AA。TAT里才有的语句里有的才有显示。
7 发表于 2007-05-29 11:03 ·  中国 湖北 武汉 电信
版主
★★★★★
积分 11,386
发帖 4,938
注册 2006-07-23 17:10
20年会员
UID 59080
状态 离线
你输入aa.txt里面没有的单词,它自然会提示无。

不知道你要实现怎么样的效果呢?是要全部匹配还是什么?
8 发表于 2007-05-29 11:43 ·  中国 香港 腾讯云
初级用户
积分 67
发帖 26
注册 2007-05-14 14:29
19年会员
UID 88487
性别 男
状态 离线
全部匹配 的意思 嘻嘻 ^_^
9 发表于 2007-05-29 15:06 ·  中国 河北 保定 联通
铂金会员
★★★★
网络独行侠
积分 6,962
发帖 2,753
注册 2003-04-16 00:00
23年会员
UID 1565
性别 男
来自 河北保定
状态 离线
用findstr的正则表达式应该就可以实现全部匹配了。
偶只喜欢回答那些标题和描述都很清晰的帖子!
如想解决问题,请认真学习“这个帖子”和“这个帖子”并努力遵守,如果可能,请告诉更多的人!
10 发表于 2007-05-29 17:25 ·  中国 湖北 武汉 电信
版主
★★★★★
积分 11,386
发帖 4,938
注册 2006-07-23 17:10
20年会员
UID 59080
状态 离线
Originally posted by cheng54550 at 2007-5-29 11:43:
全部匹配 的意思 嘻嘻 ^_^

正如Climbing所说,用findstr就可以了。
@echo off
:loop
cls&set name=
set /p name=请输入英文单词:
if not defined name goto loop
for /f "tokens=2" %%a in ('findstr /i /r /c:"\<%name%\>" ^<aa.txt ^|^|echo lxmxn 无') do (echo\%%a)
pause
goto loop
11 gawk+bat 发表于 2007-05-29 17:44 ·  中国 湖北 武汉 电信
版主
★★★★★
积分 11,386
发帖 4,938
注册 2006-07-23 17:10
20年会员
UID 59080
状态 离线

@echo off
:loop
cls&set name=
set /p name=请输入英文单词:
if not defined name goto loop
gawk "{if($1==\"%name%\"){print $2;lxmxn=110}}END{if(lxmxn!=110)print \"无此单词\"}" aa.txt
pause
goto loop
12 发表于 2007-05-29 18:18 ·  中国 香港 腾讯云
初级用户
积分 67
发帖 26
注册 2007-05-14 14:29
19年会员
UID 88487
性别 男
状态 离线
不知道是我笨还是我自己操作错了,我用你10楼的试了一下输入一个A它什么都没提示???也什么都不显示。

11楼的这个我也试了不管输入什么都说不是内部命令.....
13 发表于 2007-05-29 19:03 ·  中国 湖北 武汉 电信
版主
★★★★★
积分 11,386
发帖 4,938
注册 2006-07-23 17:10
20年会员
UID 59080
状态 离线
Re cheng54550:

10 楼的我这里测试完全正常,不知道你为什么不行。。

11 楼的需要外部命令 gawk ,这个可以搜索一下论坛找到。放到系统搜索路径下就可以了。
14 发表于 2007-05-29 19:20 ·  中国 香港 腾讯云
初级用户
积分 67
发帖 26
注册 2007-05-14 14:29
19年会员
UID 88487
性别 男
状态 离线
哦,那算了。俺还是用斑斑的第一种办法,显示就显示吧。 嘻嘻 真是麻烦你了。^_^
15 发表于 2007-09-27 02:38 ·  中国 重庆 电信
中级用户
★★
积分 235
发帖 109
注册 2006-08-24 00:52
19年会员
UID 61161
性别 男
状态 离线
记好
论坛跳转: