@echo off
setlocal enabledelayedexpansion
for /f "tokens=1* delims=:" %%i in ('findstr /n .* a.txt') do set max=%%i
for /f "delims=" %%a in (b.txt) do call :couq&echo %%a!num!
pause
exit
:couq
set /a sui=%random%%%%max%+1
for /f "tokens=1* delims=:" %%i in ('findstr /n .* a.txt') do (
if "%%i"==!sui! set num=%%j&goto :eof
)
goto :eof