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

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

  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. )  
复制代码
刚学批处理,看不懂的代码,希望懂的能帮忙解释下,谢谢!

本帖最后由 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教程

TOP

回复 2# 522235677
在看for的教程,看了二次,有些还没理解!%%A,就是变量A吗

TOP

这个是这样的我有个文本A:里面有这样一些内容比如姓名,文本B里面有姓名,地址,电话号码,希望就是将A和B去比较,然后生成一个文本C,如果在 文本B里能找到A里的姓名,就把B这行复制过去,如果没有就把A本身写过去!
cd .>C.txt  生成一个0字节大小的文件 c.txt
这句没有难道不行,结果应该不是一样的吗?.我去试试,没想明白的是为什么会要加这么一句!

TOP

回复 4# smkill


      如果没有cd .>C.txt这一句,且存在同名的C.txt文件,就会追加到原C.txt而不是创建新的C.txt

TOP

回复 3# smkill


    我当初学的时候,看for教程看了十几遍都不太明白

TOP

  1. @echo off
  2. (for /f %%a in (A.txt) do (
  3.     findstr "%%a" B.txt || echo,%%a
  4. ))>C.txt
复制代码
这样可以省掉那个cd命令

TOP

返回列表