如何用批处理,文件中查找特定字符串,并输出所在文本的文件名

2025-01-02 05:20:40
推荐回答(2个)
回答1:

@echo off
findstr /r ".*serial.*[0-9]*-[0-9]" 1.txt >2.txt
pause
rem 查找条件测试
@echo off
for /f "tokens=1-3 delims=- " %%i in ('findstr /r ".*serial.*[0-9]*-[0-9]" 1.txt') do (echo %%j%%k>2.txt)
pause
rem 查找+提取25288588778这个数字

这个数字是否为固定值.如果不是固定值可用上面的代码提取.

回答2:

@echo off
for /f "tokens=*" %%a in ('dir /b *.txt) do (
    for /f "tokens=1-3 delims=- " %%i in ('findstr /r ".*serial.*[0-9]*-[0-9]" "%%a"') do (
        echo %%j%%k  %%a>>2.txt
    )
)
pause
rem 文件中查找特定字符串,并输出所在文本的文件名