中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-09 20:00
47,811 主题排行 / 349,896 发帖 / 今日 1 篇 / 48,254 会员排行
DOS批处理 & 脚本技术(批处理室) » 查找并复制文本中含有剪贴板里的字符串的每一行
可打印版本  890 / 7
第1楼 ka56 发表于 2008-09-21 15:08
中级用户 发帖 129 积分 234
查找并复制文本中含有剪贴板里的字符串的每一行
思路:
我手中有不少9位QQ垃圾号,经常有人来查有无带他们所指定要的数字的QQ号,如,查有没有含"12580",每次都要打开文档逐个查并复制,效率很低.
想弄一个批处理把现在剪贴板里的字符串"12580"做查找条件,查找"号码文档.txt"中有没有带"12580"的号,,,,如果有查到就写入"查到的号.txt",最后打开"查到的号.txt"

号码文档.txt的内容如下:
674776556
955365766
245676674
129769860
524766354
.......


谢谢!!

[ Last edited by ka56 on 2008-9-21 at 03:11 PM ]
第2楼 slore 发表于 2008-09-21 15:46
铂金会员 发帖 2,478 积分 5,212
@echo off&setlocal EnableDelayedExpansion
set/a i=0,j=0
set/p l=请输入要查询的数字:
copy 号码文档.txt fd0.txt /y 1>nul
del /q 查到的号.txt 2>nul
:loop
set c=!l:~%i%,1!
set/a j=i,i+=1
if "%c%"=="" goto :end
findstr "%c%" fd%j%.txt>fd%i%.txt
del /q fd%j%.txt
goto :loop
:end
echo.
echo.
echo 找到的号码:
echo.------------
type fd%j%.txt
ren fd%j%.txt 查到的号.txt
echo.------------
echo.
pause
第3楼 ka56 发表于 2008-09-21 16:08
中级用户 发帖 129 积分 234
谢谢大虾!!!好象测试没通过~~
第4楼 slore 发表于 2008-09-21 16:13
铂金会员 发帖 2,478 积分 5,212
好象测试没通过~~ ?

我测试过了的。。。

就用的
674776556
955365766
245676674
129769860
524766354
这个数据。

我晕~我的是包含12580中这5个号码都找了。和顺序没有联系,中间也可以插入字符。

比如
142657890 只要含有12580我的脚本就选择了。

你要包含12580这个字符串?那就直接

findstr "12580" 号码.txt>找到的号码.txt
第5楼 ka56 发表于 2008-09-21 16:32
中级用户 发帖 129 积分 234
哦,原来理解错了,搜索的条件,例,"12580"这5个数字要连在一起的!而非这5个数字分开处在不同位置就满足条件....

524112580
125802052
581258026

这3个就满足条件

[ Last edited by ka56 on 2008-9-21 at 04:35 PM ]
第6楼 HAT 发表于 2008-09-21 16:35
版主 发帖 5,017 积分 9,023
第7楼 slore 发表于 2008-09-21 16:36
铂金会员 发帖 2,478 积分 5,212
那样就很简单了……

@echo off
set/p l=请输入要查询的数字:
findstr "%l%" 号码.txt>查到的号.txt
echo.
echo.
echo 找到的号码:
echo.------------
type 查到的号.txt
echo.------------
echo.
pause
第8楼 ka56 发表于 2008-09-21 16:40
中级用户 发帖 129 积分 234
太强大了,衷心感谢了!!!!!!敬礼!!
两位大虾有需要这类型的Q号,就联系我... : ))
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023