使用 cmd 在各种测试文件中搜索字符串

使用 cmd 在各种测试文件中搜索字符串

我有多个文本文件,其中包含数千封用于营销的电子邮件。这些文件还包含除这些邮件之外的其他信息。有没有办法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 电子表格中即可。

相关内容