copiando vários arquivos de texto para um arquivo de texto em ordem numérica usando cmd

1

Eu queria copiar os arquivos "scholar (1) .txt" para "scholar (25) .txt" em um único arquivo .txt utilizou 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 forma seqüencial:

'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'
    
por Amandeep Singh 06.09.2014 / 20:02

1 resposta

1

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

Para uso dentro de um arquivo de lote, os sinais de porcentagem precisam ser dobrados, substituindo % por %%

Se o número total de arquivos é desconhecido, mas os arquivos são nomeados como 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 ordenada numérica dos arquivos.

    
por 09.09.2014 / 10:02