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

[文本处理] 比较文本内容的批处理看不懂,希望懂的能帮忙解释下

[复制链接]
发表于 2013-12-2 20:25:46 | 显示全部楼层 |阅读模式
  1. @echo off
  2. cd .>C.txt  ::这行是干什么用的,看不懂用来做什么!
  3. for /f %%a in (A.txt) do (
  4. findstr "%%a" B.txt >>C.txt||echo %%a >>C.txt ::||echo %%a >>C.txt这里管道符也看不懂什么意思?
  5. )  

复制代码
刚学批处理,看不懂的代码,希望懂的能帮忙解释下,谢谢!
发表于 2013-12-2 20:47:47 | 显示全部楼层
本帖最后由 522235677 于 2013-12-2 20:51 编辑

cd .>C.txt  生成一个0字节大小的文件 c.txt
for /f %%a in (A.txt) do ( for 循环,读取A.txt内容
findstr "%%a" B.txt >>C.txt||echo %%a >>C.txt  查找b.txt是否存在%%a内容,如果不存在就把这个%%a保存到a.txt??
还是直接将查找结果写入到C.txt,如果写入失败就把%%a写入C.TXT?

这个是谁写的代码?
这个%%a的意思你知道吗?这个你去看看for教程
 楼主| 发表于 2013-12-2 21:18:34 | 显示全部楼层
回复 2# 522235677
在看for的教程,看了二次,有些还没理解!%%A,就是变量A吗
 楼主| 发表于 2013-12-2 21:25:44 | 显示全部楼层
这个是这样的我有个文本A:里面有这样一些内容比如姓名,文本B里面有姓名,地址,电话号码,希望就是将A和B去比较,然后生成一个文本C,如果在 文本B里能找到A里的姓名,就把B这行复制过去,如果没有就把A本身写过去!
cd .>C.txt  生成一个0字节大小的文件 c.txt
这句没有难道不行,结果应该不是一样的吗?.我去试试,没想明白的是为什么会要加这么一句!
发表于 2013-12-2 21:50:26 | 显示全部楼层
回复 4# smkill


      如果没有cd .>C.txt这一句,且存在同名的C.txt文件,就会追加到原C.txt而不是创建新的C.txt
发表于 2013-12-3 19:59:08 | 显示全部楼层
回复 3# smkill


    我当初学的时候,看for教程看了十几遍都不太明白
发表于 2013-12-4 09:17:09 | 显示全部楼层
  1. @echo off
  2. (for /f %%a in (A.txt) do (
  3.     findstr "%%a" B.txt || echo,%%a
  4. ))>C.txt
复制代码
这样可以省掉那个cd命令
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-20 23:25 , Processed in 0.031408 second(s), 17 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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