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
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
Please also mark the comments that contributed to the solution of the article
Content-Key: 185469
Url: https://administrator.de/contentid/185469
Printed on: April 24, 2024 at 22:04 o'clock
5 Comments
Latest comment
Aloha,
greetz André
edit: überarbeitet nach genaueren Vorgaben
@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