本帖最后由 aloha20200628 于 2025-4-8 14:47 编辑
回复 1# 304802301
以下代码存为 test.bat 与 demo.txt, a.txt, b.txt 同目录运行...
代码流程根据楼主要求的顺序/步骤,但须确保被处理的三个 *.txt 源文件是 ansi(gb2312 即简中)编码
备注》如果三个源文件各自均无重复文本行,亦可删除代码第8-9行,如此运行效率可能会提升... | @echo off &cd.>"result.txt" &set "n=0" | | for /f "delims=" %%s in (demo.txt) do ( | | set/a "n+=1" &call echo,正在处理第 %%n%% 行... | | set "s=%%s" &setlocal enabledelayedexpansion &set/p="!s!,">>"result.txt" | | (findstr /lx "!s!" "a.txt">nul)&(if !errorlevel! neq 0 (set/p="a.txt不存在,") else set/p="a.txt存在,")>>"result.txt" | | (findstr /lx "!s!" "b.txt">nul)&(if !errorlevel! neq 0 (set/p="b.txt不存在,") else set/p="b.txt存在,")>>"result.txt" | | echo,!date:~,4!年!date:~5,2!月!date:~8,2!日!time:~,2!点!time:~3,2!分!time:~6,2!秒>>"result.txt" | | findstr /lxv "!s!" "a.txt">"_a.txt" &(move /y "_a.txt" "a.txt">nul) | | findstr /lxv "!s!" "b.txt">"_b.txt" &(move /y "_b.txt" "b.txt">nul) | | endlocal | | ) 2>nul <nul | | pause&exit/bCOPY |
|