本帖最后由 gao_leyun_km 于 2020-5-13 10:15 编辑
说明:该脚本对两个文件中相同编号的信息没有顺序对应要求。输出文件中次数计为2.txt中同一编号出现的次数;前四列信息均来自1.txt中该编号第一次出现的行,略不检验同1.txt其余行和2.txt相容与否;其余信息均来自2.txt中该编号第一次出现的行,略不检验同2.txt其余行相容与否。如果txt文件是UTF-8编码的把下面这个批处理用UTF-8编码存到相同目录运行即可,如果txt文档为其他编码请自行设定bat文件为相同编码,并修改chcp后的数值。正常运行cmd窗口无任何输出,运行完成后将在同一目录生成Merge.txt并自动用记事本打开。- @echo off&setlocal enabledelayedexpansion&>nul chcp 65001
- if exist "%~dp0Merge.txt" del "%~dp0Merge.txt"
- for /f usebackq^ tokens^=1^,2*^ delims^=^| %%a in ("%~dp01.txt") do if not defined %%b (
- set %%b=1
- set N=0
- for /f usebackq^ tokens^=2^,4^ delims^=^| %%d in ("%~dp02.txt") do if "%%b"=="%%d" set /a N=!N!+1&if !N! EQU 1 set O1=%%a^|%%b^|%%c&set O2=%%e
- >>"%~dp0Merge.txt" echo !O1! !N!次 !O2!
- )
- start notepad.exe "%~dp0Merge.txt"
- ping 127.1 -n 1 >nul
- exit
复制代码
|