Board logo

标题: [文本处理] [已解决]批处理如何实现文本对比后修改? [打印本页]

作者: qwe777    时间: 2011-5-6 11:25     标题: [已解决]批处理如何实现文本对比后修改?

本帖最后由 qwe777 于 2011-5-6 12:38 编辑

请问如果进行txt文件对比,然后把有差异的内容删除。

例如:

1.txt
123
456
789

2.txt
123
789

2.txt作为参照,对1.txt进行对比并把多出的内容(456)删除。
作者: hucuibai    时间: 2011-5-6 11:31

for /f %%a in (1.txt) do (for /f %%i in (2.txt) do (if %%a==%%i echo %%a>>3.txt))
作者: qwe777    时间: 2011-5-6 12:37

谢谢!!!
作者: qwe777    时间: 2011-5-7 13:17

我现在想把不同的内容显示出来,就把语句改成:
for /f %%a in (1.txt) do (for /f %%i in (2.txt) do (if not %%a==%%i echo %%a>>3.txt))
但不行,请问为什么?/???
作者: Batcher    时间: 2011-5-7 13:26

4# qwe777


你得先解释一下什么叫不行
作者: CrLf    时间: 2011-5-7 13:33

  1. @echo off
  2. findstr>相同.txt /l /g:2.txt 1.txt
  3. findstr>不同.txt /l /v /g:2.txt 1.txt
复制代码

作者: qwe777    时间: 2011-5-8 02:32

5# Batcher


例如:

1.txt   2.txt
1        1
4        2
5        3
6        6

语句的效果不会把1.txt&2.txt不同的之处打印出来,如是显示一大串数值
作者: Batcher    时间: 2011-5-8 09:21

7# qwe777


6楼呢?




欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2