Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Mehrere Dateien zusammenkopieren mit Dateiname im Inhalt

Frage Entwicklung Batch & Shell

Mitglied: vwtyp3

vwtyp3 (Level 1) - Jetzt verbinden

27.06.2007, aktualisiert 21:48 Uhr, 7298 Aufrufe, 3 Kommentare

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
Mitglied: Biber
27.06.2007 um 18:09 Uhr
Moin vwtyp3,

willkommen im Forum.

Als Skizze würde mein Lösungsansatz so aussehen:
[Demo am CMD-Prompt]
01.
(=18:03:42  D:\temp=) 
02.
>for %i in (test37.txt test99.txt) do @for /f "delims=" %j in ('type %i') do @echo %i %j 
03.
test37.txt AuthType Basic 
04.
test37.txt AuthName "Service-Bereich" 
05.
test37.txt AuthUserFile /usr/verwaltung/web/.htusers 
06.
test37.txt Require valid-user 
07.
test37.txt Order deny,allow 
08.
test37.txt Deny from all 
09.
test37.txt Allow from 
10.
test37.txt Satisfy any 
11.
test99.txt ABC2888
...also zwei FOR-Anweisungen hintereinander.
Und den Output in eine neue Zieldatei.

Im Batch dann sinngemäß:
01.
@(for %%i in (a.txt b.txt) do @( 
02.
       for /f "delims=" %%j in ('type %%i') do @( 
03.
        echo %%i %%j 
04.
       )))>zieldatei.txt
Bitte warten ..
Mitglied: vwtyp3
27.06.2007 um 21:23 Uhr
wahnsinn !!!

ehrlich, super. hat geklappt. danke.
ich habe (a.txt b.txt) durch (*.txt) ersetzt und dann auch der zieldatei eine andere endung gegeben (wurde sonst selbst nochmals in sich eingepackt, rekursiv oder wie das heißt) und somit werden alle *.txt dateien zusammenkopiert.

wo kann man so etwas nachlesen, lernen etc ?
wenn man %1 in der kommandozeile benutzt, muß man im batch %%1 nehmen, das weiss ich wohl, aber wie erklärt sich der rest ?

normalerweise ändere ich bei solchen sachen immer ein bisschen, um zu sehen was sich ändert und so zu verstehen, aber das sagt mir alles nicht viel.

daher, danke danke danke.

gruss
carsten
Bitte warten ..
Mitglied: Biber
27.06.2007 um 21:48 Uhr
Moin carsten,

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
Bitte warten ..
Neuester Wissensbeitrag
Windows 10

Sticky Notes - Autostart unterbinden

(1)

Tipp von Pedant zum Thema Windows 10 ...

Ähnliche Inhalte
Linux Tools
CURL mehrere Dateien vom ftp-Server herunterladen (10)

Frage von highpriest zum Thema Linux Tools ...

Windows 7
gelöst Mehrere Dateien in Windows umbenennen mit Batchjob (4)

Frage von Jeduja zum Thema Windows 7 ...

Microsoft Office
Excel VBA "SVERWEIS" über mehrere Dateien in Ordner (2)

Frage von Acht85 zum Thema Microsoft Office ...

Heiß diskutierte Inhalte
Router & Routing
Tipps für Router (ca. 100 clients, VPN) (18)

Frage von oel-auge zum Thema Router & Routing ...

TK-Netze & Geräte
Convert von TAPI auf CAPI gesucht (12)

Frage von StefanKittel zum Thema TK-Netze & Geräte ...