для небольших по размеру файлов и до 9999 строк:
Код:

@echo off
(
for /f "tokens=1,2 delims=[] " %%a in ('^<123.txt find /n /v ""') do (
set "$a=000%%a"
call set "$%%$a:~-4%%=%%b"
)
for /f "tokens=1,2 delims=[] " %%a in ('^<456.txt find /n /v ""') do (
set "$a=000%%a"
call call echo %%%%$%%$a:~-4%%%%%%#%%b
))>789.txt