中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net  论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
« [1] [2] »
作者:
标题: [已结]文件内容比对 上一主题 | 下一主题
DXSX
中级用户





积分 247
发帖 147
注册 2009-4-9
状态 离线
『第 16 楼』:  

@echo off   & setlocal ENABLEDELAYEDEXPANSION
set n=0
set m=0
set P=0
for /f "tokens=1,2* delims==" %%c in (a.txt) do (
  set /A P=!P!+1
  set Q=0
   for /f "tokens=1,2* delims==" %%f in (b.txt) do (
    set  /A Q=!Q!+1
    if %%c*==%%f* (
       set /a m=!m!+1
       if %%d%%e==%%g%%h (
          if %%g*==* (echo %%f) else (echo %%f=%%g%%h)
       ) else (set /a n=!n!+1)
   )
  )
)
echo.
echo.
echo A.TXT有%P%行内容,B.TXT有%Q%行内容
echo A.TXT的各行项目中B.TXT也有的共:%m%个,其中项目值不一致的:%n%个
:end
ENDLOCAL

要求 A.TXT/B.TXT 中项目是唯一的,即一个文件中不能有多个相同名字的项目。

[ Last edited by DXSX on 2010-9-10 at 12:49 ]

2010-9-10 11:56
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
coldface
初级用户





积分 71
发帖 70
注册 2010-7-19
状态 离线
『第 17 楼』:  

谢谢,上面有两处没看明白是什么意思。
1.if %%g*==* 这句*代表啥?代表以%%g为前缀么?
2.那几个m,n,p的变量的作用是什么?

2010-9-11 01:56
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
DXSX
中级用户





积分 247
发帖 147
注册 2009-4-9
状态 离线
『第 18 楼』:  



  Quote:
Originally posted by coldface at 2010-9-11 01:56:
谢谢,上面有两处没看明白是什么意思。
1.if %%g*==* 这句*代表啥?代表以%%g为前缀么?
2.那几个m,n,p的变量的作用是什么?

m n p  q 用来 计数, 文件行数 和 不同内容行数

%%f 表示 "=" 左边 内容, %%g %%h 表示 "=" 右边的内容。%%g*==* 表示 "=" 右边没有内容。

2010-9-12 08:54
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
coldface
初级用户





积分 71
发帖 70
注册 2010-7-19
状态 离线
『第 19 楼』:  

您给的程序好像运行起来有问题,

结果:
A.TXT有0行内容,B.TXT有行内容
A.TXT的各行项目中B.TXT也有的共:0个,其中项目值不一致的:0个

[ Last edited by coldface on 2010-9-13 at 15:38 ]

2010-9-12 13:08
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
DXSX
中级用户





积分 247
发帖 147
注册 2009-4-9
状态 离线
『第 20 楼』:  



  Quote:
Originally posted by coldface at 2010-9-12 13:08:
您给的程序好像运行起来有问题,

结果:
A.TXT有0行内容,B.TXT有行内容
A.TXT的各行项目中B.TXT也有的共:0个,其中项目值不一致的:0个

[ Last edited by coldface on 2010-9-13 at 15:38 ]

1、cmd文件 a.txt b.txt 放在一个文件夹
2、能否把 你的 a.txt b.txt 放出来。

具体可参考
http://hi.baidu.com/dxsx/blog/item/5ab15bedafca83d3b31cb1a2.html

2010-9-14 14:57
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
coldface
初级用户





积分 71
发帖 70
注册 2010-7-19
状态 离线
『第 21 楼』:  

恩,放在同一文件下执行的。
a.txt和b.txt的文件跟楼2层贴出的一样。
感谢回复,我参考下那个帖子 修改下

2010-9-14 23:04
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
DXSX
中级用户





积分 247
发帖 147
注册 2009-4-9
状态 离线
『第 22 楼』:  

& setlocal ENABLEDELAYEDEXPANSION
必须有

2010-9-15 08:41
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
« [1] [2] »
请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: