我有多个文本文件,其中包含数千封用于营销的电子邮件。这些文件还包含除这些邮件之外的其他信息。有没有办法cmd
选择所有这些文件,专门过滤这些电子邮件并将其输出到 Excel 文档?
答案1
标准实用程序是“find”,其语法和可用选项如下所示:
C:\> 查找 /?
命令提示符下的示例会话:
cd /d C:\ dir /s /b >文件.txt 查找/i“calc”FILES.txt ...
... 可能会显示 Windows 计算器 EXE 文件的路径和文件名。
如果您希望查找多个搜索词,请使用管道符;例如:
查找 /i “第一次粗略搜索的文本”FILES.txt | 查找 /i “微调”| 查找 /i “进一步微调”
如果您想要更多选项,请尝试寻找适用于 Windows 的“grep”实用程序,但随后您将需要了解“正则表达式” - 一如既往;随着便利性的增加,复杂性也容易发生同样的情况。
答案2
我已经更新了我的命令行工具脚本可以使用新标志来实现这一点-o
。要使用它来解决您的问题,您需要将脚本复制到包含这些文件的文件夹中,然后创建一个新文件并向其中添加以下内容:
@echo off
cd "%~dp0"
FOR /R . %%G IN (*.txt) DO @jgrep.bat -o "[A-Za-z0-9/-_.]+@[A-Za-z0-9\-_.]+" < "%%G"
pause
这应该能满足您的要求。只需将这些结果复制到您的 Excel 电子表格中即可。