NuclearBox, Вариант 2. Если всё-таки с Copy
Код:
@Echo Off
cls
Set "BoxIn=Z:\Box_In"
Set "Ext=txt"
Call :Consol "%BoxIn%" "%Ext%"
FOR /F "usebackq delims=" %%i IN (`2^>nul Dir "%BoxIn%" /B /S /A:D`) DO Call :Consol "%%i" "%Ext%"
Pause
GoTo :Eof
:Consol
2>Nul Del "%~1\%~nx1.%~2"
If Not Exist "%~1\*.%~2" Exit /B 1
>"%~1\%~nx1.%~2.alltmp" (cd.)
>"%~1\%~nx1.%~2.~tmp" (cd.)
FOR /F "usebackq delims=" %%i IN (`2^>nul Dir "%~1\*.%~2" /B /A:-D`) DO (
1>Nul 2>&1 Move /Y "%~1\%~nx1.%~2.alltmp" "%~1\%~nx1.%~2.~tmp"
>nul Copy "%~1\%~nx1.%~2.~tmp" /B +"%~1\%%i" /B "%~1\%~nx1.%~2.alltmp" /B
)
>nul Move "%~1\%~nx1.%~2.alltmp" "%~1\%~nx1.%~2"
2>Nul Del "%~1\%~nx1.%~2.~tmp"
Exit /B
Возможны неприятности: если последняя строка исходного текстового файла не заканчивается символами 0D 0A, то последняя строка предыдущего файла и первая строка последующего сольются в одной строке в консолидированном файле.