Пишешь нечто типа *.BAT такого вида
Код
@echo off
if not %1. == . goto dalee1
%0 newfile.txt *.txt
goto out_all
:dalee1
if not %2. == . goto dalee2
%0 %1 *.txt
goto out_all
:dalee2
if exist %1 del %1
echo Первая строка общей шапки >%1
echo Вторая строка общей шапки >>%1
rem ...
if exist %2 for %%i in (%2) do call add_to.bat %%i %1
if %3. == . goto out_it
if exist %3 for %%i in (%3) do call add_to.bat %%i %1
if %4. == . goto out_it
if exist %4 for %%i in (%4) do call add_to.bat %%i %1
if %5. == . goto out_it
if exist %5 for %%i in (%5) do call add_to.bat %%i %1
if %6. == . goto out_it
if exist %6 for %%i in (%6) do call add_to.bat %%i %1
if %7. == . goto out_it
if exist %7 for %%i in (%7) do call add_to.bat %%i %1
if %8. == . goto out_it
if exist %8 for %%i in (%8) do call add_to.bat %%i %1
if %9. == . goto out_it
if exist %9 for %%i in (%9) do call add_to.bat %%i %1
:out_it
echo Общие завершающие строки, если нужны >>%1
:out_all
Здесь имена файлов для результата и для объединения (имена либо маски) могут быть задалы параметрами. Если не заданы, то берутся по умолчанию newfile.txt и *.txt соответственно
и другой файл, тоже типа .BAT - в данном случае ADD_TO.BAT
Код
if %1. == %2. goto out
echo шапка очередного файла с именем %1 >>%2
rem ...
copy %2+%1 temporar.txt
del %2
ren temporar.txt %2
echo завершающие строки, обрамляющие текст %1 >>%2
rem Не обязательно:
del %1
:out
Ну, можно откопировать объединяемые файлы в отдельную папку... И в ней этот батник гонять. Тогда, если та папка была изначально (до копирования туда файлов, подлежащих объединению) чистая (только что создана), то порядок следования файлов при объединении будет соответствовать порядку копирования файлов в ту папку. А если для этого копирования пользоваться, скажем, Total Commander'ом (FAR, NC, DisCommander...), то порядок копирования будет соответствовать порядку отображения. Его можно выставить по алфавиту, по дате, как угодно...
Сообщение отредактировал drusha - Nov 12 2006, 16:17
Теперь всё, я сюда больше не приду. Никогда.