
eu queria copiar os arquivos "scholar (1).txt" para "scholar (25).txt" para um único arquivo .txt usando os seguintes métodos: wikihow: Mesclar arquivos de texto (.Txt) no prompt de comando
for %f in (*.txt) do type "%f" >> output.txt
SU: existe uma maneira de combinar arquivos de texto usando a linha de comando do Windows?
copy *.txt bigfile.txt
também
type *.js > all.txt
mas todos os arquivos não são copiados de maneira sequencial:
`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`
Responder1
(for /l %a in (1 1 25) do @type "scholar (%a).txt")>all.txt
Para uso dentro de um arquivo em lote, os sinais de porcentagem precisam ser duplicados, substituindo %
por%%
Se o número total de arquivos for desconhecido, mas os arquivos forem nomeados conforme indicado, este código pode ser usado
@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
Isso cria uma matriz no ambiente que nos permite recuperar uma lista de arquivos ordenada numericamente adequadamente.