
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.