![Board logo](images/default/logo.gif)
标题: [文本处理] 批处理如何检查一个文件中是否有另一个文件的内容 [打印本页]
作者: ake9527 时间: 2009-8-25 14:37 标题: 批处理如何检查一个文件中是否有另一个文件的内容
如何写批处理检查一个文件中是否有另一个文件的内容.
比如有一篇文章,怎样用批处理自动检查是否存在另一个列表中的内容,(字符串相同).
并且在最后生成一个文件,将列表中有而文件中没有的内容列出来.
再举一个例子,比如我手上有一本电子的射雕英雄传,还有一份金庸群侠的名单。
我想能有一个批处理程序将名单和电子书作为参数,检索名单中的人名是否出现在该电子书中了,将那些没有出现在书中的人名整理成一份名单输出。
这个动作让人做很累(金庸迷除外),但机器来做事比较机械可行的。
[ 本帖最后由 ake9527 于 2009-8-27 09:09 编辑 ]
作者: zqz0012005 时间: 2009-8-25 20:30
只能用三方工具。
或vbs- fo = "E:\文件目录"
- fl = "列表文件" '为简便起见,不要把列表文件与其他文件放在同一目录
- set fso = CreateObject("Scripting.FileSystemObject")
- s = fso.OpenTextFile(fl).ReadAll
- for each f in fso.GetFolder(fo).Files
- s = Replace(s, f.OpenAsTextStream().ReadAll, String(5,vbCrLf), 1)
- next
- fso.OpenTextFile("left.txt",2,true).Write s
复制代码
作者: ake9527 时间: 2009-8-25 21:12
谢谢。
可惜,批处理做不了这些。
作者: Lumiere 时间: 2009-8-25 21:20 标题: 回复 2楼 的帖子
版主的理解能力真强,我基本没看明白楼主意思……
作者: ake9527 时间: 2009-8-26 14:27
抱歉语言表达的问题。
再举一个例子,比如我手上有一本电子的射雕英雄传,还有一份禁用群侠的名单。
我想能有一个批处理程序将名单和电子书作为参数,检索名单中的人名是否出现在电子书中了,经那些没有出现在书中的人名整理成一份名单输出。
这个动作让人做很累(金庸迷除外),但机器来做事比较机械可行的。
作者: canyuexiaolang 时间: 2009-8-26 15:21
只能借用工具,批处理做不到吗?为嘛
作者: Batcher 时间: 2009-8-26 22:45 标题: 回复 5楼 的帖子
请把所有的问题描述全部更新到顶楼,以便他人查看。
作者: ake9527 时间: 2009-9-16 16:42 标题: 自力更生 ,解决问题
@echo off
if "%1"=="" (
@echo Uasge: checklist.bat listfile targetfile resultfile
goto end
)
set src_file=%1
set dst_file=%2
set show_file=%1
for /f "delims=" %%a in (%src_file%) do (
findstr /I /R %%a %dst_file% || ECHO %%a>>%show_file%
)
:end
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |