Это должно работать для вас, берет 3 аргумента, как вы и просили, и выгружает содержимое в out.txt в вашем каталоге dest.
@echo off
setlocal enabledelayedexpansion
set TOTALFILECOUNT=%1
set FROMDIR=%2
set TODIR=%3
set OUTFILENAME="%TODIR%\out.txt"
set COUNTER=0
FOR /f "tokens=*" %%A IN ( 'DIR /B "%FROMDIR%\*.txt"' ) DO (
SET /a COUNTER+=1
type %FROMDIR%\%%A >> %OUTFILENAME%
if !COUNTER!==%TOTALFILECOUNT% GOTO :EOF
)
endlocal