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
Kommentar vom Moderator Biber am 02.08.2010 um 20:00:07 Uhr
Ich verschieb es mal ganz optimistisch von "Tools & Utilities" nach "Batches From Hell".
Das bekommen wir ohne Zusatzutilities hin.
GELÖST

Zeilen in txt-Datei mit Batch zusammenfassen und ergänzen

Frage Entwicklung Batch & Shell

Mitglied: radiofm1

radiofm1 (Level 1) - Jetzt verbinden

02.08.2010, aktualisiert 18.10.2012, 4577 Aufrufe, 2 Kommentare

Guten Abend zusammen

Ich suche eine Batch-Lösung, wie ich aus einer Datei1.txt mit mehreren Zeilen die beiden obersten Zeilen (Zeile 1 und Zeile 2) in eine Datei2.txt auf einer Zeile darstellen kann.
Erschwerend kommt hinzu, dass ich zuerst den Inhalt der Zeile 2 und erst dann Zeile 1 und zusätzlich ein Trennzeichen (zB ein Bindestrich - ) haben möchte.
Haben nun länger mit "FOR /f "delims="" experimentiert und komme auf keinen grünen Zweig (bin eher ein Batch-Anfänger ... leider)

Zur Verdeutlichung.

Inhalt Datei1.txt:
Zeile 1 ...
Zeile 2
Zeile 3
Zeile 4
...

und ich hätte nach der Batch-Bearbeitung gerne eine

Datei2.txt:
Zeile 2 - Zeile 1

Gruss und herzlichen Dank für die Hilfe
radiofm1
Mitglied: bastla
02.08.2010, aktualisiert 18.10.2012
Hallo radiofm1 und willkommen im Forum!

Das könnte so gehen:
01.
@echo off & setlocal 
02.
set "Ein=D:\Datei1.txt" 
03.
set "Aus=D:\Datei2.txt" 
04.
 
05.
set /p Z1=<"%Ein%" 
06.
set "Z2=" 
07.
for /f "usebackq skip=1 delims=" %%i in ("%Ein%") do if not defined Z2 set "Z2=%%i" 
08.
set "Zeile=%Z2% - %Z1%" 
09.
 
10.
set "Zeile=%Zeile:^=^^%" 
11.
set "Zeile=%Zeile:&=^&%" 
12.
set "Zeile=%Zeile:<=^<%" 
13.
set "Zeile=%Zeile:>=^>%" 
14.
set "Zeile=%Zeile:|=^|%" 
15.
 
16.
>"%Aus%" echo %Zeile%
Das Einlesen der Zeile 1 und speichern als %Z1% lässt sich einfach über "set /p" realisieren.

Für die Zeile 2 muss die gesamte Datei1.txt gelesen werden, wobei zunächst die Zeile 1 übersprungen wird und dann nur, wenn es noch keine Variable %Z2% gibt (also nur beim ersten Schleifendurchlauf), die gelesene Zeile der Variablen %Z2% zugewiesen wird - alle weiteren Zeilen werden dann zwar gelesen, aber ignoriert.

Schließlich werden %Z2% und %Z1% in der vorgesehenen Form in der Variablen %Zeile% zusammengefasst. Bevor diese Zeile in die Ausgabedatei geschrieben werden kann, werden zur Sicherheit störende Sonderzeichen (speziell für den Pessimisten -oder vermutlich doch nur Realisten - rubberman - siehe hier) "maskiert".

Die Ausgabedatei wird dann wegen des ">" automatisch neu erstellt (= auch eine bereits vorhandene gleichnamige Datei überschrieben).

Grüße
bastla
Bitte warten ..
Mitglied: radiofm1
03.08.2010 um 11:22 Uhr
Hallo bastla

funktioniert bestens!
Und auch noch einleuchtend erklärt - ich bin begeistert.
(Meine "Übungen" waren massiv komplizierter ... spannend, wie man mein Problem mit ein paar wenigen Zeilen Batch lösen konnte)

Herzlichen Dank,
radiofm1
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
Batch-Variable nach Stichworten aus TXT Datei durchsuchen (3)

Frage von Markus5579 zum Thema Batch & Shell ...

Batch & Shell
gelöst Einzelne Zeilen in txt Datei speichern und auslesen (7)

Frage von noah1400 zum Thema Batch & Shell ...

Batch & Shell
Ungewöhnliche Txt.Datei-Abfrage mit Batch (3)

Frage von DaTobsn zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Exchange Server
gelöst Email in Exchange an 2ten Empfänger senden (18)

Frage von MultiStorm zum Thema Exchange Server ...

Weiterbildung
Gehaltsvorstellungen (14)

Frage von SYS64738 zum Thema Weiterbildung ...

Verschlüsselung & Zertifikate
gelöst Festplattenverschlüsselung im Ausland (13)

Frage von Nicolaas zum Thema Verschlüsselung & Zertifikate ...

Windows Server
gelöst Microsoft-Lizenz CALs und passendes Server-Betriebssystem (13)

Frage von planetIT2016 zum Thema Windows Server ...