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, 7317 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 ..
Ähnliche Inhalte
Neue Wissensbeiträge
Drucker und Scanner

Samsung SL-M4025ND, firmware update und (kompatible) Tonerkassetten

(1)

Erfahrungsbericht von markus-1969 zum Thema Drucker und Scanner ...

Router & Routing

PfSense auf Supermicro Intel Xeon D-15x8 SoC Bare Bone

Tipp von Dobby zum Thema Router & Routing ...

Windows Server

Exchange 2010 auf Windows Server 2016 und AD

(2)

Tipp von Herbrich19 zum Thema Windows Server ...

KVM

How to: Libvirt Port forwarding

(2)

Anleitung von fundave3 zum Thema KVM ...

Heiß diskutierte Inhalte
Router & Routing
über Vmware auf eine FritzBox mit IPv6 per VPN (17)

Frage von Zockervogel zum Thema Router & Routing ...

Basic
Programmierung von Windows Programmen (9)

Frage von Ghost108 zum Thema Basic ...

Voice over IP
VoIP und DECT an Fritz Accesspoint (7)

Frage von Katosix zum Thema Voice over IP ...