@echo off setlocal enableextensions enabledelayedexpansion for /f "skip=2 tokens=1* delims=]" %%i in ('find /n /v "" x.txt') do set L%%i=%%j for /f "skip=2 tokens=1* delims=]" %%i in ('find /n /v "" y.txt') do ( if defined L%%i (echo !L%%i!) else (echo.) if not ""=="%%j" (echo %%j) else (echo.))