The DOS 'copy' command has a -b option to act upon files in 'binary mode,' analogous to Perl's binmode; and depending upon your 'cat' implementation, the fileT and file1 are most likely read through memory in chunks (4K? I think? --something about that being the optimal size for disc transactions...), so that should be a valid way to do this without bring the whole file into RAM. e.g.
[dos-prepend.bat]
copy /b prepend+original newfile
if errorlevel 1 goto abort
copy /y newfile original
if errorlevel 1 goto abort
del newfile
del prepend
abort: rem end
# vs.
[unix-prepend]
#!/bin/sh
cat prepend original > newfile && (
mv -f newfile original;
rm -f prepend )
Of course, dkubb's subroutine is a much
better way to cope with this situation.