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
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
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 185469
Url: https://administrator.de/contentid/185469
Ausgedruckt am: 25.11.2024 um 13:11 Uhr
5 Kommentare
Neuester Kommentar
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