derzapfer
Goto Top

Per Batch Textdateien editieren

Vorhandene Textdatei mit Kopf und Fußtextfragmenten editieren

Hallo Zusammen

Ich habe eine große (ca. 10 MB) Textdatei die einen Kopf einen Rumpf und einen Fuß hat.
Den Kopf und den Fuß habe ich entfernt und den Rest in gleich große Stücke a 200 KB geteilt.
Insgesamt 56 Dateien.
Jetzt soll der Kopf und der Fuß wieder in die einzelnen Dateien eingefügt werden (der Kopf an den Anfang der Textdateien und der Fuß ans Ende der Textdateien).
Sodas am Ende 56 Dateien mit identischem Kopf und Fuß und variablem Rumpf vorhanden sind.
Ist dies per Batch möglich ?

Content-Key: 30092

Url: https://administrator.de/contentid/30092

Printed on: April 18, 2024 at 05:04 o'clock

Member: Biber
Biber Apr 10, 2006 at 10:14:43 (UTC)
Goto Top
Moin derzapfer,

ist sicherlich möglich.
Du kannst mit den copy-Befehl auch mehrere Dateien zu einer zusammenkopieren:
Beispiel:
dir ?.txt

15.03.2006  21:49                57 x.txt
16.03.2006  17:08                 5 ü.txt
               2 Datei(en)             62 Bytes
copy x.txt+ü.txt xü.txt
x.txt
ü.txt
        1 Datei(en) kopiert.
dir xü.txt

10.04.2006  12:03                63 xü.txt
               1 Datei(en)             63 Bytes
In Deinem Beispiel entsprechend
copy kopf.txt+[dateiname-Rumpf-nn]+fuss.txt [neuerDateiname-Datei-nn]

Eventuell musst Du beim Copy Parameter /a oder /b nehmen, je nachdem wie Deine "Quelldateien" aussehen.
Siehe Hilfe zu copy /?

Das Kopieren (wenn Du es an einem Beispiel hinreichend getestet hast) dann in einer FOR /F..IN..DO-Anweisung.

For /f ....in %i ('dir /b rumpf-dateimaske') do copy kopf.txt +%i + fuss.txt neu%i
... oder ähnlich. Dazu sind keine exakten Angaben möglich bislang...
Gruß Biber
Member: derzapfer
derzapfer Apr 10, 2006 at 11:05:50 (UTC)
Goto Top
Hallo Biber

Hat soweit mit folgender Zeile in einer batch super funktioniert:
copy kopf.txt+output1.txt+fuss.txt ergebnis1.txt.

Jetzt habe sind die output-Dateien durchnummeriert von 1-56 und ich möchte nicht jedesmal die Batch dahingehend ändern, daß ich die Outputdateinummer im Batch anpassen muß.
Ist es hier möglich die Zahl hochzuzählen?
Mir ist die Syntax der "FOR" Geschichte leider nicht so geläufig.

Bisher schon mal vielen dank.
Member: Biber
Biber Apr 10, 2006 at 11:15:36 (UTC)
Goto Top
Moin derzapfer,

wenn die "output[nn].txt-Dateien so vorliegen wie beschrieben, dann am CMD-Prompt:

for /L %i in (1,1,56) do @copy kopf.txt+output%i.txt+fuss.txt ergebnis%i.txt >nul

Lohnt ja kein Batch dafür.

Falls doch, dann jeweils zwei Prozentzeichen statt einem (%%i statt %i).

Thats all.

Gruß
Biber
Member: derzapfer
derzapfer Apr 10, 2006 at 11:24:35 (UTC)
Goto Top
Vielen Dank.
Läuft einwandfrei.

Du hast einen Fan mehr face-smile

Gruß
derzapfer