Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen (A bis Z)

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

Per Batch Spalten aus einer Textdatei einlesen und in anderer Reihenfolge ausgeben

Frage Entwicklung Batch & Shell

Mitglied: trashcan

trashcan (Level 1) - Jetzt verbinden

25.05.2012 um 08:24 Uhr, 2629 Aufrufe, 5 Kommentare

Hallo,

Ich bin gerade erst über dieses Forum gestolpert und hoffe, dass man mir etwas aus der Misere helfen kann.

Ich habe eine Textdatei mit Folgendem Inhalt:

Datum [Info] Beschreibung

Beispiel:

2002-04-28 Prozess_gestartet-USERPC
2003-08-14 [DEFEKT] Dateien_entpackt_und_kopiert-NETZWERK
2012-05-25 Datein.kopiert.und.gelöscht-NETZWERK

Die Spalte Info kommt nur recht selten vor, die Klammer ist aber immer Vorhanden. Lehrzeichen in der Beschreibung sind entweder mit _ oder . ersetzt (Das kommt auf die jeweilige Ausgabe an)

Nun Möchte ich diese Datei via Batch einlesen und die Spalten in anderer Reihenfolge in neuen Textdateien abspeichern:

Die Ausgabe Dateien sollen wie folgt aussehen:

Wenn Info gegeben ist:
Datei1: Beschreibung=Datum - [Info] - Beschreibung
Datei2: Datum - [Info] - Beschreibung=Beschreibung

Wenn Info nicht gegeben ist:
Datei1: Beschreibung=Datum - Beschreibung
Datei2: Datum - Beschreibung=Beschreibung

Vielen Dank schon einmal im Voraus

trashcan


Mitglied: Skyemugen
25.05.2012, aktualisiert um 09:05 Uhr
Aloha,

01.
@echo off & setlocal 
02.
for /f "usebackq tokens=1-3" %%s in ("textdatei.txt") do ( 
03.
	set "end=%%u" 
04.
	if defined end ( 
05.
		>>USER.db echo %%u=%%s - %%t - %%u 
06.
		>>REUSER.db echo %%s - %%t - %%u=%%u 
07.
	) else ( 
08.
	  	>>USER.db echo %%t=%%s - %%t 
09.
		>>REUSER.db echo %%s - %%t=%%t 
10.
11.
	set "end=" 
12.
13.
pause
greetz André

edit: überarbeitet nach genaueren Vorgaben
Bitte warten ..
Mitglied: bastla
25.05.2012 um 08:46 Uhr
Hallo trashcan und willkommen im Forum!

Leider kann ich mit Deiner Darstellung der gewünschten Zieldateien nicht wirklich etwas anfangen - daher bitte je ein kurzes Beispiel mit den konkreten Daten für die beiden Dateien darstellen ...

Grüße
bastla
Bitte warten ..
Mitglied: trashcan
25.05.2012 um 08:57 Uhr
Hallo ihr 2 und schon einmal Danke fürs kümmern.

Ja, das war wohl etwas schwammig von mir (bei 2tem lesen hab ich es nun auch gemerkt):

Also ich möchte 2 Dateien erstellen: USER.db und REUSER.db

Für USER.db soll die Ausgabe wie folgt aussehen:
Beschreibung=Datum - [Info] - Beschreibung

Beispiel USER.db:
01.
Prozess_gestartet-USERPC=2002-04-28 - Prozess_gestartet-USERPC 
02.
Dateien_entpackt_und_kopiert-NETZWERK=2003-08-14 - [DEFEKT] - Dateien_entpackt_und_kopiert-NETZWERK 
03.
Datein.kopiert.und.gelöscht-NETZWERK=2012-05-25 - Datein.kopiert.und.gelöscht-NETZWERK
REUSER.db soll das ganze praktisch umgekehrt anzeigen:
Datum - [Info] - Beschreibung=Beschreibung

01.
Beispiel REUSER.db: 
02.
2002-04-28 - Prozess_gestartet-USERPC=Prozess_gestartet-USERPC 
03.
2003-08-14 - [DEFEKT] - Dateien_entpackt_und_kopiert-NETZWERK=Dateien_entpackt_und_kopiert-NETZWERK 
04.
2012-05-25 - Datein.kopiert.und.gelöscht-NETZWERK=Datein.kopiert.und.gelöscht-NETZWERK
Grüße

trashcan
Bitte warten ..
Mitglied: Skyemugen
25.05.2012 um 09:05 Uhr
Aloha,

siehe oben,

Frühstück ...

greetz André
Bitte warten ..
Mitglied: trashcan
25.05.2012, aktualisiert um 09:22 Uhr
Vielen, vielen Dank!!! Das erspart mir wirklich eine Menge Arbeit!!!

Funktioniert Einwandfrei!

Lass es dir schmecken ;)

Viele Grüße

trashcan
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
gelöst Bestimmten Bereich einer Textdatei ausgeben mittels Batch (10)

Frage von Django.Durano zum Thema Batch & Shell ...

Batch & Shell
gelöst Bestimmte Zeile einer Textdatei mit Batch auslesen (2)

Frage von PinkFLuffyUnicorn zum Thema Batch & Shell ...

Microsoft Office
Excel Nachfrage: Datum aus Spalte ausgeben (2)

Frage von PronMaster zum Thema Microsoft Office ...

Batch & Shell
gelöst Batch Leerzeichen in nur bestimmten Spalten entfernen? (2)

Frage von Komoran12 zum Thema Batch & Shell ...

Neue Wissensbeiträge
Windows Update

Novemberpatches und Nadeldrucker bereiten Kopfschmerzen

(14)

Tipp von MettGurke zum Thema Windows Update ...

Windows 10

Abhilfe für Abstürze von CDPUsersvc auf Win10 1607 und 2016 1607

(7)

Tipp von DerWoWusste zum Thema Windows 10 ...

RedHat, CentOS, Fedora

Fedora 27 ist verfügbar

Information von Frank zum Thema RedHat, CentOS, Fedora ...

Heiß diskutierte Inhalte
Linux Desktop
Bildschirmauflösung unter Linux festlegen (12)

Frage von itebob zum Thema Linux Desktop ...

Windows Userverwaltung
gelöst Administrator hat alle Rechte verloren (10)

Frage von mrdead zum Thema Windows Userverwaltung ...

LAN, WAN, Wireless
Gebäude mit WLAN ausstatten (9)

Frage von udobec zum Thema LAN, WAN, Wireless ...

Windows Server
Kennwort vergessen bei Hyper vserver 2012r (9)

Frage von jensgebken zum Thema Windows Server ...