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, 7292 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
Internet

Unbemerkt - Telekom Netzumschaltung! - BNG - Broadband Network Gateway

(3)

Erfahrungsbericht von ashnod zum Thema Internet ...

Heiß diskutierte Inhalte
Switche und Hubs
Trunk für 2xCisco Switch. Wo liegt der Fehler? (17)

Frage von JayyyH zum Thema Switche und Hubs ...

Windows Server
Outlook Verbindungsversuch mit Exchange (15)

Frage von xbast1x zum Thema Windows Server ...

DSL, VDSL
DSL-Signal bewerten (14)

Frage von SarekHL zum Thema DSL, VDSL ...