copiar varios archivos de texto a un archivo de texto en orden numérico usando cmd

copiar varios archivos de texto a un archivo de texto en orden numérico usando cmd

Quería copiar los archivos "scholar (1).txt" a "scholar (25).txt" en un solo archivo .txt y utilicé los siguientes métodos: wikihow: fusionar archivos de texto (.Txt) en el símbolo del sistema

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

SU: ¿hay alguna manera de combinar archivos de texto usando la línea de comando de Windows?

copy *.txt bigfile.txt

también type *.js > all.txt

pero no todos los archivos se copian de forma secuencial:

`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`

Respuesta1

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

Para su uso dentro de un archivo por lotes, los signos de porcentaje deben duplicarse y reemplazarse %con%%

Si se desconoce el número total de archivos, pero los archivos tienen el nombre indicado, se puede utilizar este código

@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

Esto crea una matriz en el entorno que nos permite recuperar una lista de archivos ordenada numéricamente correctamente.

información relacionada