Mehrere Dateien zusammenkopieren mit Dateiname im Inhalt
hallo,
ich habe mehrere dateien, die mehrere zeilen beinhalten. ich versuche nun, diese dateien zu einer zusammen zu kopieren, was auch geht. da ich aber hinterher nicht mehr weiss, welche zeilen aus welcher datei kommen, müßten die zeilen der neuen datei mit dem dateinamen der ursprungsdatei anfangen. ein beispiel:
a.txt:
1111111111111111
2222222222222222
3333333333333333
b.txt:
1111111111111111
2222222222222222
3333333333333333
zieldatei.txt:
a.txt 11111111111111111
a.txt 22222222222222222
a.txt 33333333333333333
b.txt 11111111111111111
b.txt 22222222222222222
b.txt 33333333333333333
hat jemand eine idee ?
danke und gruss
carsten
ich habe mehrere dateien, die mehrere zeilen beinhalten. ich versuche nun, diese dateien zu einer zusammen zu kopieren, was auch geht. da ich aber hinterher nicht mehr weiss, welche zeilen aus welcher datei kommen, müßten die zeilen der neuen datei mit dem dateinamen der ursprungsdatei anfangen. ein beispiel:
a.txt:
1111111111111111
2222222222222222
3333333333333333
b.txt:
1111111111111111
2222222222222222
3333333333333333
zieldatei.txt:
a.txt 11111111111111111
a.txt 22222222222222222
a.txt 33333333333333333
b.txt 11111111111111111
b.txt 22222222222222222
b.txt 33333333333333333
hat jemand eine idee ?
danke und gruss
carsten
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 62517
Url: https://administrator.de/forum/mehrere-dateien-zusammenkopieren-mit-dateiname-im-inhalt-62517.html
Ausgedruckt am: 27.04.2025 um 13:04 Uhr
3 Kommentare
Neuester Kommentar
Moin vwtyp3,
willkommen im Forum.
Als Skizze würde mein Lösungsansatz so aussehen:
[Demo am CMD-Prompt]
...also zwei FOR-Anweisungen hintereinander.
Und den Output in eine neue Zieldatei.
Im Batch dann sinngemäß:
willkommen im Forum.
Als Skizze würde mein Lösungsansatz so aussehen:
[Demo am CMD-Prompt]
(=18:03:42 D:\temp=)
>for %i in (test37.txt test99.txt) do @for /f "delims=" %j in ('type %i') do @echo %i %j
test37.txt AuthType Basic
test37.txt AuthName "Service-Bereich"
test37.txt AuthUserFile /usr/verwaltung/web/.htusers
test37.txt Require valid-user
test37.txt Order deny,allow
test37.txt Deny from all
test37.txt Allow from
test37.txt Satisfy any
test99.txt ABC2888
Und den Output in eine neue Zieldatei.
Im Batch dann sinngemäß:
@(for %%i in (a.txt b.txt) do @(
for /f "delims=" %%j in ('type %%i') do @(
echo %%i %%j
)))>zieldatei.txt
Moin carsten,
na ja, Zauberei ist es auch nicht...eher solides Handwerk.
Eines möchte ich noch richtigstellen:
Die Platzhalter %0, %1, ... %9 als Parameter (oder letzten Endes dem Argc/Argv-Pendant aus C), die bleiben immer mit nur einem %-Zeichen.
Die drittbeste Quelle danach ist dann schon die Hilfe am CMD-Prompt, also "help" und dann weiter mit "help Befehl".
Lernen: genau wie die Zubereitung von Sauce Hollandaise oder Mousse au chocolat..
...einfach versuchen...
...nach ein paar 100 Malen klappts auch bei Stromausfall und wenn keine Butter im Haus ist.
Grüße
Biber
na ja, Zauberei ist es auch nicht...eher solides Handwerk.
Eines möchte ich noch richtigstellen:
wenn man %1 in der kommandozeile benutzt, muß man im batch %%1 nehmen...
Jein... bei den so genannten dynamischen (Zähl-)Variablen der FOR-Anweisung werden im Batch zwei %-Zeichen statt einem am CMD-Prompt genommen.Die Platzhalter %0, %1, ... %9 als Parameter (oder letzten Endes dem Argc/Argv-Pendant aus C), die bleiben immer mit nur einem %-Zeichen.
wo kann man so etwas nachlesen, lernen etc ?
Nachlesen: bei aller Bescheidenheit: hier im Forum und evtl noch in der Handvoll Links im Bereich "Batch & Shell".Die drittbeste Quelle danach ist dann schon die Hilfe am CMD-Prompt, also "help" und dann weiter mit "help Befehl".
Lernen: genau wie die Zubereitung von Sauce Hollandaise oder Mousse au chocolat..
...einfach versuchen...
...nach ein paar 100 Malen klappts auch bei Stromausfall und wenn keine Butter im Haus ist.
Grüße
Biber