使用Windows CMD从多个文件中提取电子邮件地址

时间:2016-07-22 09:43:07

标签: email cmd extract findstr

我有大约1000个txt.files包含很多数据,如电子邮件地址,名称,邮政编码,服务......在此文件夹中:C:\ Users \ dupont \ Documents \ test 我想提取所有电子邮件地址,只发送此文件夹上的电子邮件地址,然后将其复制到另一个.txt文件中。

所以我创建了一个像这样的.bat来提取电子邮件地址:

findstr @ C:\Users\dupont\Documents\test\ad.txt >C:\Users\dupont\Documents\test\results.txt
pause

问题是,它提取了所有的行 而且,我不知道如何询问命令,用' @'来划定字符串的搜索范围。到一个空格,制表符,回车 实际上,命令必须与@,@(直到空格)之前的单词和@之后的单词匹配(直到空格

感谢您的帮助 祝你有愉快的一天

1 个答案:

答案 0 :(得分:0)

对于每个文本文件(%%f),依次处理每一行(%%a)。用空格将行分为元素(%%b)(标准分隔符为空格和TAB),如果元素包含@,则将其打印出来:

@echo off
for %%f in (*.txt) do (
  for /f "tokens=*" %%a in (%%f) do (
    for %%b in (%%a) do (
      echo %%b|find "@"
    )
  ) 
)