mehrere Textdateien mit cmd in numerischer Reihenfolge in eine Textdatei kopieren

mehrere Textdateien mit cmd in numerischer Reihenfolge in eine Textdatei kopieren

ich wollte die Dateien „scholar (1).txt“ bis „scholar (25).txt“ in eine einzelne TXT-Datei kopieren und habe dazu die folgenden Methoden verwendet: wikihow: Textdateien (.Txt) in der Eingabeaufforderung zusammenführen

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

SU: Gibt es eine Möglichkeit, Textdateien mithilfe der Windows-Befehlszeile zu kombinieren?

copy *.txt bigfile.txt

Auch type *.js > all.txt

aber es werden nicht alle Dateien der Reihe nach kopiert:

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

Antwort1

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

Für die Verwendung in einer Batchdatei müssen Prozentzeichen verdoppelt und %durch%%

Wenn die Gesamtzahl der Dateien unbekannt ist, die Dateien aber wie angegeben benannt sind, kann dieser Code verwendet werden

@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

Dadurch wird in der Umgebung ein Array erstellt, das es uns ermöglicht, eine ordnungsgemäß numerisch sortierte Liste der Dateien abzurufen.

verwandte Informationen