在一些整理文档场景中,我们不知道文档内会有什么内容,又不知道如何通过内容来归类,可以用以下方法进行操作,即可得到我们想要的内容。
运用批处理,新建一个txt文档,再把后缀改成bat,右链编辑此bat文件,把以下代码复制,粘贴进去。
然后保存为u-tf8编码。点击运行。
#需要注意的是:这个批处理会把当前所在目录下所有的TXT文件都会查收,所以建议是最好是先新建一个文件夹再把这个文件以及所有的TXT文档都COPY在一起,

然后通过在当前窗口处输入CMD调出,命令提示符。再把BAT文件拖进提示符内执行。

比如,我输入叶凡,它即会执行查找当前目录下所有TXT文档内含有“叶凡”两个字的文件,及出现的次数统计。

并保存一份统计文档

代码如下:
@echo off
chcp 65001 > nul
setlocal enabledelayedexpansion
echo =====================================
echo *脚本名称: txt_content_search.bat*
echo *功能: 搜索当前目录及子目录TXT文件中*
echo *包含指定内容的匹配次数*
echo *作者: Leepoet*
echo *日期: 2025-09-05*
echo =====================================
REM 设置UTF-8编码支持中文
:: 初始化结果文件
set “resultFile=search_results_%date:~0,4%%date:~5,2%%date:~8,2%.txt”
if exist “%resultFile%” del “%resultFile%”
:: 用户输入
:input
echo 请输入要查找的文本内容:
set /p “searchText=”
if “!searchText!”==”” (
echo 错误:内容不能为空!
goto :input
)
:: 搜索处理
echo [查找内容]: !searchText! > “%resultFile%”
echo ============================ >> “%resultFile%”
echo 文件路径 匹配次数 >> “%resultFile%”
echo ————————— >> “%resultFile%”
set /a totalCount=0
for /r %%f in (*.txt) do (
findstr /i /c:”!searchText!” “%%f” >nul && (
set /a count=0
for /f %%a in (‘findstr /i /c:”!searchText!” “%%f” ^| find /c /v “”‘) do set /a count=%%a
set /a totalCount+=count
echo %%~ff !count! >> “%resultFile%”
)
)
:: 结果汇总
echo ============================ >> “%resultFile%”
echo 总匹配文件数: %totalCount% >> “%resultFile%”
if %totalCount% gtr 0 (
echo 搜索完成!结果已保存到 %resultFile%
start “” “%resultFile%”
) else (
echo 未找到包含指定内容的TXT文件
del “%resultFile%”
)
endlocal