在文本中找出重复的数据记录的批处理怎么写

来源:百度知道 编辑:UC知道 时间:2024/05/25 17:21:59
公司考勤机经常出错,员工刷卡数据会经常重复,从考勤机导出来的数据是TXT文本格式的,我想写个批处理自动找出重复的记录!怎么写这个批处理???大家帮忙!

要求如下:

例如刷卡数据为:

卡号, 工号, 性名
11223344 S090807 王明
11223355 S090806 李小
………… ………… ……
等等

如果其中哪一条数据出现重复能用批处理找出来生成在另一个文本中,我写了一个能找出重复的数据来,但是还发现一个问题:比如说:性名,工号都一样
然后就是卡号不同,这样的话我写的批处理就找不出来了,我想大家帮我想想
只要数据中工号和姓名一样就视为重复记录!批处理就必须把它找出来!

能达到效果高分20分!
两位写的批处理我拿去试过都不行的!郁闷!

@echo off&cd.>b.txt
for /f "tokens=1,2,3" %%a in (a.txt)do (
for /f "tokens=3" %%i in ('find/c "%%b" a.txt')do (
if %%i neq 1 (
find "%%b" b.txt||echo/%%a %%b %%c>>b.txt
)))
pause

因为工号和姓名是绑定的,所以只要数据中工号重复了就可视为重复~~~~~

把你文本发我Q

'===================================================

set fso=wscript.createobject("scripting.filesystemobject")
fso.copyfile "data.txt","temp.txt"
set fr1=fso.opentextfile("data.txt",1)
set fw=fso.createtextfile("new_data.txt",2)
do
data=fr1.readline
set fr2=fso.opentextfile("temp.txt",1)
i=0
do
find=fr2.readline
if data=find then
i=i+1
end if
if i>1 then
fw.writeline(data)
exit do
end if
loop until fr2.atendofstream
fr2.close

loop until fr1.atendofstream
fr2.close