[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[数值计算] 【已解决】批处理怎样查找两个文件的不同行?

本帖最后由 ads350668398 于 2015-11-14 18:30 编辑
  1. @echo off
  2. for /f "delims=*" %%a in (22.txt) do (
  3. findstr /i "%%a" 11.txt || echo %%a>>3.txt
  4. )
  5. pause>nul
复制代码
**************************************
文件11
11 11
22 22
33 33
44 44
55 55
****************
文件22
11 11
12 35
33 33
88 4
44 44
55 55
****************
输出文件3
12 35
**************
哪个哥们帮忙 看看 哪里错了啊 谢谢

困了先睡一觉 明天 啊来

TOP

要能理解你的意思也是够费劲的。

TOP

你得明白for是干嘛的
在你代码里体现的意思是,分别读取22.txt内的每一行,然后到11.txt里查找。
这并不是匹配每一行相同与否。
1

评分人数

TOP

不好意思 其实我是想 对比输出 不一样的行!

TOP

回复 3# 依山居
我是打算 对比两个文件11.txt和22.txt然后输出的是不相同的内容

TOP

本帖最后由 ads350668398 于 2015-11-8 08:35 编辑

回复 4# B魔方大人
解决 问题 如果有别的方法可以实现 比较输出不相同行的内容 告诉下 谢谢

另:问下 为什么输出了
12 35
而又不输出
88 4

谢谢

TOP

回复 6# ads350668398


    你试试 fc

TOP

回复 8# 依山居


    不知道 FC 晕
fc不会是方翠山是意思吧#24

TOP

本帖最后由 尘丶 于 2015-11-8 09:26 编辑
  1. @echo off&setlocal enabledelayedexpansion
  2. (for /l %%a in (1,1,50) do set /p n%%a=)<1.txt
  3. (for /l %%a in (1,1,50) do set /p m%%a=)<2.txt
  4. for /l %%a in (1,1,50) do if not !n%%a!==!m%%a! echo;!n%%a! !m%%a!
  5. pause
复制代码
fc是命令 fc /?
好像用findstr也可以,论坛有 我忘记怎么写的了
1

评分人数

心累~努力,为了美好的明天。

TOP

  1. D:\temp>diff 11.txt 22.txt
  2. 2c2
  3. < 12 35
  4. ---
  5. > 22 22
  6. 4d3
  7. < 88 4
复制代码

TOP

感谢网友的热心 我扫后 尝试一下

TOP

你当真是不能好好打字了。

TOP

findstr /ixvg:22.txt 11.txt

TOP

本帖最后由 B魔方大人 于 2015-11-8 11:25 编辑

回复 7# ads350668398

比较向同行内容:fc命令
举例:
fc 22.txt 11.txt

另外第二个问题,已经说的很清楚了。for读取22.txt每一行%%a,findstr搜索11.txt是否含有%%a。
而%%a,是包含空格的字符串,所以findstr会当作88or4处理。搜索88和4
详情需要自己查看findstr命令。

TOP

返回列表