中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-02 01:26
48,037 主题排行 / 350,122 发帖 / 今日 2 篇 / 48,250 会员排行
DOS批处理 & 脚本技术(批处理室) » [讨论]数据查询与数据库操作脚本
可打印版本  1,455 / 10
第1楼 maya0su 发表于 2006-08-15 23:09
中级用户 发帖 131 积分 241
[讨论]数据查询与数据库操作脚本
今天去一公司,在等待的过程中,突然有一电话问营业员某某的电话,只见那个营业员用鼠标拖着拖动条一个一个找那个名字,然后报上电话号码!
忽然觉得很可笑,就想有没有一个批处理可以解决这个问题呢?
在回来的公车上,就一直琢磨这个问题……可是等我把这个问题解决后,又觉得这个批处理的根本就没有存在的意义,因为不论是word还是excel甚至是记事本都有查找字符串的功能……哎……
不过既然写出来了,就把代码贴出来……供大家一笑……呵呵……

@echo off
set /p uu=请输入你要查找的姓名或电话号码:
type config.cfg |find /i "%uu%"
echo.
echo.
echo.
pause
exit

说明:config.cfg为CS的设置文件,估计大家知道这个,而那三个echo.是为了在寻找并显示之后,有一段空白空间,好让pause的显示不影响正常显示输出,容易观看一些!

[ Last edited by willsort on 2006-8-22 at 03:21 ]
第2楼 mornsmile 发表于 2006-08-16 07:28
初级用户 发帖 23 积分 147
你说的cs是指反恐吗,那跟电话什么关系
第3楼 xjmxjm1234 发表于 2006-08-16 13:11
中级用户 发帖 166 积分 361
cs 是寄存器吗?

好让pause的显示不影响正常显示输出,容易观看一些!

用 pause > nul 不就行了吗?

不过既然写出来了,就把代码贴出来……供大家一笑……呵呵……

没关系,批命令最重要的不是精通,创新才是。
第4楼 无奈何 发表于 2006-08-16 22:19
荣誉版主 发帖 356 积分 1,338
我觉得编写脚本的目的就是方便的解决一些实际问题,只要是需要脚本编写肯定是满足特定需求的,其他的考量就是看看是否实用。
有一段时间我需要频繁的查一些地方的邮编和电话区号,我就做了下面的脚本。为了格式化输出及增强输入的容错性使用了gawk.exe。由于制作的不是太用心,所以不是太满意也就没有拿出来献丑。
使用方法是:比如要查我的老家 泰安 的邮编可以这样
1、YBQH 泰安
2、YBQH tai an
3、YBQH taian
4、YBQH ta
5、YBQH 0538
也可以空参数运行,按提示输入。其中按拼音字头会返回很多非所需结果。其他文件见附件。由于今天无法上传附件,上传系统好像也有问题,需要的话通知我一下。
YBQH.bat


  1. ::简易邮编区号查询程序
  2. ::BY 无奈何@cn-dos.net
  3. @echo off
  4. title 邮编区号查询
  5. echo.
  6. gawk -f find.awk %*
  7. goto next

  8. :loop
  9. echo.
  10. gawk -f find.awk
  11. :next
  12. echo.
  13. set j=
  14. set /p j= 按“0”键或空格键继续;其他任意键退出....
  15. if "%j%" == " " goto loop
  16. if "%j%" == "0" (goto loop) else exit
  17. goto :end
  18. :end
无奈何发表于 2006-08-16 21:51


find.awk
第5楼 hanbsome 发表于 2006-08-16 22:43
初级用户 发帖 14 积分 36
强 这样的批处理都搞出来了 佩服
第6楼 maya0su 发表于 2006-08-16 22:52
中级用户 发帖 131 积分 241
CS是反恐的配置文件,不过这里我是用那个代替电话本的!
我有个不好习惯,就是总是把实际的文件都贴出来,而不是真正我设想的文件
看了无奈何版主的代码,我觉得我的代码还是需要再完善一点的
其实代码的有用与无用无关紧要,最主要的是,我们需要去思考,是不是能让电脑让生活更简单……
第7楼 3742668 发表于 2006-08-17 20:44
荣誉版主 发帖 718 积分 2,013
可是等我把这个问题解决后,又觉得这个批处理的根本就没有存在的意义,因为不论是word还是excel甚至是记事本都有查找字符串的功能……哎……

你也不用太妄自菲薄了,且不说不管有用没用,每写一次脚本对写脚本的能力都会有所提高,单是脚本的灵活多样性,就不是大众化的程序所能比拟的。当然,没有大众化的应用程序,那么脚本的功能也会受到很大的影响。其实我的主要观点是:不要把脚本和应用程序放在对立的面上,而是应该考虑怎么能让脚本结合应用程序更大地发挥它们的作用。
例如,以下是把我以前的几个脚本拼凑起来的东东:
BAT文件部分:

注意:代码末尾有个回车,文件名可以随意。

VBS文件部分:

注意:保存的文件名必须为: 数据库脚本.vbs
本来打算把vbs文件放在bat里面echo出来的,由于代码太长了,所以就分开为了两个文件。由于代码由我以前的几个脚本拼凑而来,所以难免有所不足,大家可以自行修改了耍耍。

附件
脚本.rar (2.05 KiB)
第8楼 zrz000 发表于 2006-08-18 18:39
初级用户 发帖 16 积分 44
又学到了不少..以后要多上来看看///
第9楼 maya0su 发表于 2006-08-20 11:17
中级用户 发帖 131 积分 241
RE:3742668
请问如下
more +52 %1 | findstr %str% || echo 记录不存在!
1. more +52 %1 是什么意思?
2. || echo 记录不存在! 为什么要用二个管道符?
麻烦请解释一下!
谢谢
第10楼 namejm 发表于 2006-08-20 13:32
荣誉版主 发帖 1,737 积分 5,226 来自 成都
Originally posted by maya0su at 2006-8-20 11:17:
请问如下
more +52 %1 | findstr %str% || echo 记录不存在!
1. more +52 %1 是什么意思?
2. || echo 记录不存在! 为什么要用二个管道符?
麻烦请解释一丠...


  1、从第52行之后开始显示文件内容;

  2、||并非两个管道符号的连用,而是表示如果前面的语句执行失败,则执行之后的语句;类似的还有&&,表示前面的语句执行成功之后才执行后面的语句;

[ Last edited by namejm on 2007-2-5 at 10:41 AM ]
第11楼 maya0su 发表于 2006-09-04 08:36
中级用户 发帖 131 积分 241
@echo off
title 电话本查找工具
color 0A
:start
cls
echo.
echo.
echo 查找电话或姓名----1
echo 添加电话或姓名----2
echo 退出本程序--------3
echo.
echo.
set /p var=选择:
set var=%var:~0,1%
call :%var% %0 2>nul || goto :eof


:1
cls
set /p uu=请输入你要查找的姓名或电话号码:
type 电话本.txt | find /i "%uu%" || echo 没有找到你要查找的姓名和电话
echo.
echo.
echo.
pause
goto :start

:2
cls
set /p nn=请输入你要添加的姓名和电话:
echo %nn% >>电话本.txt
echo 添加完毕.
echo.
echo.
echo.
pause
goto :start

:end
exit


在继续完善之后,我想知道,如何给这个批处理上加上,“删除”这个选项?
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023