копирование нескольких текстовых файлов в один текстовый файл в числовом порядке с помощью cmd

копирование нескольких текстовых файлов в один текстовый файл в числовом порядке с помощью cmd

Я хотел скопировать файлы «scholar (1).txt» в «scholar (25).txt» в один файл .txt, используя следующие методы: wikihow: Объединение текстовых файлов (.Txt) в командной строке

for %f in (*.txt) do type "%f" >> output.txt

SU: есть ли способ объединить текстовые файлы с помощью командной строки Windows?

copy *.txt bigfile.txt

также type *.js > all.txt

но не все файлы копируются последовательно:

`C:\..\Documents\New folder>type *.txt >all.txt

 scholar (1).txt
 scholar (10).txt
 scholar (11).txt
 scholar (12).txt
 scholar (13).txt
 scholar (14).txt
 scholar (15).txt
 scholar (16).txt
 scholar (17).txt
 scholar (18).txt
 scholar (19).txt
 scholar (2).txt
 scholar (20).txt
 scholar (21).txt
 scholar (22).txt
 scholar (23).txt
 scholar (24).txt
 scholar (25).txt
 scholar (3).txt
 scholar (4).txt
 scholar (5).txt
 scholar (6).txt
 scholar (7).txt
 scholar (8).txt
 scholar (9).txt`

решение1

(for /l %a in (1 1 25) do @type "scholar (%a).txt")>all.txt

Для использования внутри пакетного файла знаки процента необходимо удвоить, заменив %на%%

Если общее количество файлов неизвестно, но файлы имеют указанные имена, можно использовать этот код

@echo off
    setlocal enableextensions disabledelayedexpansion

    for %%z in ("scholar (*).txt") do for /f "tokens=2 delims=()" %%a in ("%%~nxz") do (
        set /a "num=1000000000+%%a"
        setlocal enabledelayedexpansion
        for %%b in (!num!) do endlocal & set "f[%%b]=%%~fz"
    )
    (for /f "tokens=1,* delims==" %%a in ('2>nul set f[') do type "%%b") > all.txt

Это создает массив в среде, который позволяет нам получить правильно отсортированный по номерам список файлов.

Связанный контент