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, 4637 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
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
Basic
Programmierung von Windows Programmen (9)

Frage von Ghost108 zum Thema Basic ...

C und C++
Fehlendes verständiss von C und C++ (8)

Frage von zelamedia zum Thema C und C ...