怎样识别一个文件内可能的几种关键词后再做相应的动作
🖨 打印本页
标题:怎样识别一个文件内可能的几种关键词后再做相应的动作
作者:ka56 | 时间:2006-12-22 03:49 | 标题:怎样识别一个文件内可能的几种关键词后再做相应的动作
再偷懒一下,之前没有基础的真的头大啊,,再缠住大虾们了~~
比如有个文档d:\123.txt,这个文档可能里面有"我","你","他""它"四个关键词,怎样识别并做下面的动作:
当搜到关键词是"我",将"A"写入文本"大.txt"
当搜到关键词是"你",将"B"写入文本"中.txt"
当搜到关键词是"他"或者是"它",将"C"写入文本"小.txt"
[ Last edited by ka56 on 2006-12-21 at 05:36 PM ]
作者:ka56 | 时间:2006-12-22 03:53
看昨天一个贴子,知道可能可以用
findstr ...
if errorlevel ...
但还是写不来~~~
: ))
作者:lxmxn | 时间:2006-12-22 04:36
D:\123.txt 文件中是只有这4个字中的一个,还是有可能有若干个呢?
作者:ka56 | 时间:2006-12-22 04:44
Originally posted by lxmxn at 2006-12-21 15:36:
D:\123.txt 文件中是只有这4个字中的一个,还是有可能有若干个呢?
找到关键词就可以...条件成立
[
Last edited by ka56 on 2006-12-21 at 03:45 PM ]
作者:ka56 | 时间:2006-12-22 06:37
再来D下,嘿嘿~~
作者:ka56 | 时间:2006-12-22 09:12
看看哪位大虾有时间指教下,先谢了~~
作者:fjcyz | 时间:2006-12-22 20:25
@echo off
:start
findstr /c:"我" D:\123.txt
if errorlevel 1 goto 4
goto 3
:3
@echo 搜索成功
pause
goto exit
:4
@echo 无法搜索到此关键字
pause
:exit
exit
[ Last edited by fjcyz on 2006-12-22 at 07:33 AM ]
作者:ka56 | 时间:2006-12-22 23:28
Originally posted by fjcyz at 2006-12-22 07:25:
[ L ...
谢谢兄弟!!!
好象只完成一个搜索动作,怎样完成3次(或4次)的搜索呢?
就是"我"搜后,接着去搜索"你","他"和"它"
[
Last edited by ka56 on 2006-12-22 at 10:34 AM ]
作者:fjcyz | 时间:2006-12-22 23:39
不是吧~~~
findstr /c:"我" D:\123.txt
把这个关键字改一下就可以了.
作者:lxmxn | 时间:2006-12-22 23:39
@echo off
set file=d:\123.txt
findstr "我" %file% >nul && >大.txt echo A
findstr "你" %file% >nul && >大.txt echo B
findstr "他" %file% >nul && >小.txt echo C || findstr "它" %file% >nul && >小.txt echo C
exit /b 0
作者:namejm | 时间:2006-12-22 23:43
最后一句 findstr 可以合并为 findstr "他 它" d:\123.txt>nul&&echo C>小.txt
作者:fjcyz | 时间:2006-12-23 00:07
>nul && ||
兄台,这三个符号可否解是一下...
或运算符与运算符吗? 有没有非运算符?
作者:ka56 | 时间:2006-12-23 00:56
刚试下可以了.
谢谢lxmxn,谢谢版主,谢谢fjcyz......
如果一个文件夹里有123.txt,124.txt,125.txt.....(递进1)等N个文档,怎样逐个查呢?
作者:namejm | 时间:2006-12-23 01:45
@echo off
:: 假设连续递增到200
for /l %%i in (123,1,200) do (
find "我" d:\%%i.txt>nul&&echo A>大.txt
find "你" d:\%%i.txt>nul&&echo B>中.txt
findstr "他 它" d:\%%i.txt>nul&&echo C>小.txt
)
实在想不通你为什么会要这么操作,如果把你的真实意图说出来的话,效率应该会大为提高的。
[
Last edited by namejm on 2006-12-22 at 06:29 PM ]
作者:redtek | 时间:2006-12-23 01:53
作者:ka56 | 时间:2006-12-23 02:40
Originally posted by namejm at 2006-12-22 12:45:
单独写进:
find "我" d:\%%i.txt>nul&&echo A>大.txt
find "你" d:\%%:i.txt>nul&&echo B>中.txt
findstr "他 它" d:\%%i.txt>nul&&echo C>小.txt
是有效的,但加入for /l %%i in (123,1,200) do ()就没结果了,是不是找不到d:\%%:i.txt?
作者:ka56 | 时间:2006-12-23 02:54
Originally posted by redtek at 2006-12-22 12:53:
是挺奇怪的~:)
后来看看楼主发过的贴子……
不打开浏览器能自动识别一个网页出来的3种结果吗?
http://www.cn-dos.net/forum/viewthread.php?tid=25849& ...
正是....
我菜,怕连问都不好,所以就分开了,
我的本意是要做到连续下载并连续识别并处理,
连续下载可以了:
@echo off
for /l %%a in (001,1,999) do (
wget -O 321%%a.htm http://www.cn-dos.net/forum/viewpro.php?uid=321%%a
sleep 5000
)
单个.htm的识别也做出来了:
find "指定的用户不存在或已被删除" d:\321001.htm>nul&& echo 321001>>存在的.txt
怎么做到不断的下载并处理指定的页数范围...呢?
如果这个页数范围能做到从文档里逐个提取就更完美了.... : )))
[ Last edited by ka56 on 2006-12-22 at 02:00 PM ]
作者:lxmxn | 时间:2006-12-23 03:01
搞了半天,原来是批量下载论坛的帖子啊?
鼓励一下……写好了别忘了发上来用用。 =_=
作者:ka56 | 时间:2006-12-23 03:05
这些代码能做出来的话,就会很方便的自动在网上寻找有用的信息,, : D
作者:ka56 | 时间:2006-12-23 03:09
Originally posted by lxmxn at 2006-12-22 14:01:
搞了半天,原来是批量下载论坛的帖子啊?
鼓励一下……写好了别忘了发上来用用。 =_=
靠大虾继续哈哈~~
我只有想法什么都不会,,, : ( : ))
作者:26933062 | 时间:2006-12-23 07:26
Originally posted by fjcyz at 2006-12-22 11:07:
>nul && ||
兄台,这三个符号可否解是一下...
或运算符与运算符吗? 有没有非运算符?
这是dos管道命令
>nul 意思是把内容输入到空设备,(为了保持屏幕清洁)
&& 意思是前面的命令如果正确执行就接着执行&&后面的命令,否则就直接运行下面的命令
|| 意思是和上面那个&&正好相反
作者:usb2008 | 时间:2006-12-24 22:57 | 标题:DDDDDDD
精彩
来源:https://www.cn-dos.net/forum/viewthread.php?tid=25888 · 打印时间 2026-06-15 06:35