В CMD определенно есть несколько способов сделать это. Первый способ, который приходит на ум, - это for-l oop, который работает для общего количества файлов. При каждом запуске добавляйте содержимое файла заголовка в «объединенный» файл, затем добавляйте содержимое файла статей в этот же файл. Кроме того, я бы порекомендовал вам иметь структуру файла, которая выглядит следующим образом:
Parent Folder
|
|------------------|
| |
Titles Articles
Другими словами, ваша папка с вашими заголовками и папка с вашими подкаталогами статей в той же папке. Это позволит вам сохранить этот скрипт в «Родительской папке», что облегчит просмотр каталогов.
@echo off
echo Starting...
setlocal EnableDelayedExpansion
REM Save the directory of "Parent Folder"
set parent_dir=!cd!
if not exist Merged md Merged
REM Initialize other directories
set titles_dir=!parent_dir!\Titles
set articles_dir=!parent_dir!\Articles
set merged_dir=!parent_dir!\Merged
REM However many files you have goes below
set NUMBER_OF_FILES=100
for /l %%a in (1, 1, !NUMBER_OF_FILES!) do (
for /f "tokens=*" %%b in (!titles_dir!\Title_%%a.txt) do (
echo.%%b>>!merged_dir!\Merged_%%a.txt
)
for /f "tokens=*" %%b in (!articles_dir!\Article_%%a.txt) do (
echo.%%b>>!merged_dir!\Merged_%%a.txt
)
)
echo Done
@echo on
И это все. Вы должны были полностью объединить заголовки и статьи. Я проверил это с 100 сгенерированных текстовых файлов. Вот мой сценарий для теста (сценарий также был сохранен в папке «Родительская папка»):
@echo off
echo Starting...
setlocal EnableDelayedExpansion
if not exist Titles md Titles
if not exist Articles md Articles
set parent_dir=!cd!
set titles_dir=!parent_dir!\Titles
set articles_dir=!parent_dir!\Articles
set NUMBER_OF_FILES=100
for /l %%a in (1, 1, !NUMBER_OF_FILES!) do (
echo Title%%a>!titles_dir!\Title_%%a.txt
echo ----->>!titles_dir!\Title_%%a.txt
echo. >>!titles_dir!\Title_%%a.txt
for /l %%b in (1, 1, 100) do (
echo This is article number %%a>>!articles_dir!\Article_%%a.txt
)
)
echo Done
@echo on
Просто небольшое примечание: это может быть целесообразно сделать на более быстром языке, таком как C ++, особенно если вы работаете с очень большим количеством файлов.
Редактировать Я тестировал этот скрипт и получал чуть более 550 файлов в секунду, генерируемых в секунду из моего первоначального скрипта, который генерировал файлы заголовков и статей.