找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 62727|回复: 15

[文本处理] 批处理如何把两个文本文档里相同的内容去掉?

[复制链接]
发表于 2012-6-18 20:54:00 | 显示全部楼层 |阅读模式
请教各高朋友
如何把B文本文档里和A文本文档里相同的内容去掉

如:
A文本文档:
1234
2345
4324
B文本文档:
2348
9876
7658
6540
1234
2345
生成C文本文档
2348
9876
7658
6540

请大家帮助,谢谢
发表于 2012-6-18 21:29:57 | 显示全部楼层
如果b.txt为大文件,只保留b.txt剩下的部分:
  1. findstr /vix /g:a.txt b.txt>c.txt
复制代码
如果a.txt为大文件,只保留a.txt剩下的部分:
  1. findstr /vix /g:b.txt a.txt>c.txt
复制代码
如果两者的不同部分均保留:
  1. findstr /vix /g:a.txt b.txt>c.txt
  2. findstr /vix /g:b.txt a.txt>>c.txt
复制代码
发表于 2012-6-18 21:32:37 | 显示全部楼层
用findstr会更简单,用循环效率不高

@echo off
setlocal enableDelayedExpansion
for /f "tokens=*" %%i in (b.txt) do (
        for /f "tokens=*" %%j in (a.txt) do (
                if not "%%i"=="%%j" set /a a+=1
                if "!a!"=="3" echo %%i
        )
        set a=
)
 楼主| 发表于 2012-6-18 22:57:15 | 显示全部楼层
非常谢谢,我先试试
 楼主| 发表于 2012-6-18 23:05:01 | 显示全部楼层
请问二位大大
这个要怎么用
不是用的批处理吗
 楼主| 发表于 2012-6-18 23:06:09 | 显示全部楼层
回复 3# poter
你好,这个是怎么用,
不是生成批处理文件吗
请指导,谢谢
 楼主| 发表于 2012-6-18 23:17:12 | 显示全部楼层
请大大们指导
发表于 2012-6-18 23:32:07 | 显示全部楼层
回复 5# jonm


    是用的批处理
 楼主| 发表于 2012-6-19 00:51:48 | 显示全部楼层
回复 3# poter
你好,我把你的代码另存为BAT格式,再在同一文件夹里建工a  和 b二个文本.填上内容后,再启动批处理,没出现什么结果啊,请再指导,谢谢
 楼主| 发表于 2012-6-19 07:09:42 | 显示全部楼层
请指导,谢谢
 楼主| 发表于 2012-6-19 18:50:04 | 显示全部楼层
请高手指导,谢谢
发表于 2012-6-19 19:18:44 | 显示全部楼层
回复 9# jonm


在最后增加一行:
pause
 楼主| 发表于 2012-6-19 20:00:27 | 显示全部楼层
回复 3# poter


    你好,对不起,还是要打扰你
我加了后,没有产生对比,没有生C 文本
能加一下你的QQ指导我行吗,谢谢
发表于 2012-6-19 20:14:58 | 显示全部楼层
回复 13# jonm


    莫非楼主以为2楼的代码不是批处理?
发表于 2012-6-19 20:15:54 | 显示全部楼层
回复 13# jonm
  1. @echo off
  2. setlocal enableDelayedExpansion
  3. (for /f "tokens=*" %%i in (b.txt) do (
  4.     for /f "tokens=*" %%j in (a.txt) do (
  5.         if not "%%i"=="%%j" set /a a+=1
  6.         if "!a!"=="3" echo %%i
  7.     )
  8.     set a=
  9. ))>c.txt
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-19 06:02 , Processed in 0.012168 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表