trashcan
Goto Top

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

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

Content-Key: 185469

Url: https://administrator.de/contentid/185469

Printed on: April 24, 2024 at 22:04 o'clock

Member: Skyemugen
Skyemugen May 25, 2012 updated at 07:05:09 (UTC)
Goto Top
Aloha,

@echo off & setlocal
for /f "usebackq tokens=1-3" %%s in ("textdatei.txt") do (  
	set "end=%%u"  
	if defined end (
		>>USER.db echo %%u=%%s - %%t - %%u
		>>REUSER.db echo %%s - %%t - %%u=%%u
	) else (
	  	>>USER.db echo %%t=%%s - %%t
		>>REUSER.db echo %%s - %%t=%%t
	)
	set "end="  
)
pause

greetz André

edit: überarbeitet nach genaueren Vorgaben
Member: bastla
bastla May 25, 2012 at 06:46:09 (UTC)
Goto Top
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
Member: trashcan
trashcan May 25, 2012 at 06:57:24 (UTC)
Goto Top
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:
Prozess_gestartet-USERPC=2002-04-28 - Prozess_gestartet-USERPC
Dateien_entpackt_und_kopiert-NETZWERK=2003-08-14 - [DEFEKT] - Dateien_entpackt_und_kopiert-NETZWERK
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

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

Grüße

trashcan
Member: Skyemugen
Skyemugen May 25, 2012 at 07:05:52 (UTC)
Goto Top
Aloha,

siehe oben, face-wink

Frühstück ...

greetz André
Member: trashcan
trashcan May 25, 2012 updated at 07:22:53 (UTC)
Goto Top
Vielen, vielen Dank!!! Das erspart mir wirklich eine Menge Arbeit!!!

Funktioniert Einwandfrei!

Lass es dir schmecken ;)

Viele Grüße

trashcan