Mittels Batch bestimmte Textzeilen löschen
Hallo miteinander,
hab da ein kleines Problem wiedermal.
Hab eine Logfile.txt die sich täglich aktualesiert, die wie folgt ausschaut...
"TS=Paul\\, Katrin,OU=KC,OU=HUG,DC=Kug,DC=de",Paul,11023983
"TS=Grenzt- Gast,OU=KC,OU=HUG,DC=Kug,DC=de",Personal-Gast,12312233
"TS=Logsto\\, Jens,OU=KC,OU=HUG,DC=Kug,DC=de",jfuel,00011108
"TS=Kunstl\\, I-Punkt,OU=KC,OU=HUG,DC=Kug,DC=de",Logistik,323123442
"TS=Habete\\, Aldue,OU=KC,OU=HUG,DC=Kug,DC=de",Agate,00111761
Würde die File gern durch eine Batch überarbeiten, hab aber leider schon lange nichts mehr
mit Batch gemacht. Die File sollte dann wie folgt ausschauen.
Paul,11023983
Personal-Gast,12312233
jfuel,00011108
Logistik,323123442
Agate,00111761
Sprich das nur der Name und die Personalnummer übrigbleibt.
Mit dem Kommando find hab ich bisschen rumprobiert aber komm nich zum gewünschten Ergebnis.
Über jede Hilfe würde ich mich wie immer freuen.
mfg mathold
hab da ein kleines Problem wiedermal.
Hab eine Logfile.txt die sich täglich aktualesiert, die wie folgt ausschaut...
"TS=Paul\\, Katrin,OU=KC,OU=HUG,DC=Kug,DC=de",Paul,11023983
"TS=Grenzt- Gast,OU=KC,OU=HUG,DC=Kug,DC=de",Personal-Gast,12312233
"TS=Logsto\\, Jens,OU=KC,OU=HUG,DC=Kug,DC=de",jfuel,00011108
"TS=Kunstl\\, I-Punkt,OU=KC,OU=HUG,DC=Kug,DC=de",Logistik,323123442
"TS=Habete\\, Aldue,OU=KC,OU=HUG,DC=Kug,DC=de",Agate,00111761
Würde die File gern durch eine Batch überarbeiten, hab aber leider schon lange nichts mehr
mit Batch gemacht. Die File sollte dann wie folgt ausschauen.
Paul,11023983
Personal-Gast,12312233
jfuel,00011108
Logistik,323123442
Agate,00111761
Sprich das nur der Name und die Personalnummer übrigbleibt.
Mit dem Kommando find hab ich bisschen rumprobiert aber komm nich zum gewünschten Ergebnis.
Über jede Hilfe würde ich mich wie immer freuen.
mfg mathold
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 104270
Url: https://administrator.de/contentid/104270
Ausgedruckt am: 16.11.2024 um 19:11 Uhr
5 Kommentare
Neuester Kommentar
Hallo Mathold. Ich bin kein Freund von Batch-Dateien. Ich würde das etwas anders realisieren. Meine Lösung wär ein kleines vb.net Programm.
Mit dem Streamwriter und Streamreader liest man einzelln die Zeilen aus aus einer Datei heraus und benutzt den Befehl string.replace um Teile wie "TS=" mit "" zu ersetzten.
Vorteil an bei dieser Variante ist, du kannst über ein FileOpenDialog eine Datei auswählen, die du "manipulieren" willst oder direkt in die Quelle einen bestimmte Datei mit Pfad genau festlegen.
Mit dem Streamwriter und Streamreader liest man einzelln die Zeilen aus aus einer Datei heraus und benutzt den Befehl string.replace um Teile wie "TS=" mit "" zu ersetzten.
Vorteil an bei dieser Variante ist, du kannst über ein FileOpenDialog eine Datei auswählen, die du "manipulieren" willst oder direkt in die Quelle einen bestimmte Datei mit Pfad genau festlegen.
Hallo mathold!
Für die Freunde der Batchdateien :
Grüße
bastla
P.S.: @AndreasWil: vb.net wäre dann aber doch ein wenig mit Kanonen auf Spatzen geschossen - wenn schon VB, sollte es auch ein Stück VBScript tun ...
[Edit] Fehlende Prozentzeichen vor %i und %j nachgetragen [/Edit]
Für die Freunde der Batchdateien :
@echo off & setlocal
set "Log=D:\Log.txt"
set "Aus=D:\LogKurz.txt"
if exist "%Aus%" del "%Aus%"
for /f "usebackq tokens=7,8 delims=," %%i in ("%Log%") do >>"%Aus%" echo %%i,%%j
bastla
P.S.: @AndreasWil: vb.net wäre dann aber doch ein wenig mit Kanonen auf Spatzen geschossen - wenn schon VB, sollte es auch ein Stück VBScript tun ...
[Edit] Fehlende Prozentzeichen vor %i und %j nachgetragen [/Edit]
Nur mal so an alle administrator.de user... Hier haben wir wieder ein Beipiel...
Wenn ich nachfrage wie ich meine MySQL Datenbank mit dem AD Server sychronisiert bekomme ich die Antwort:"such bei google" wenn einer zum 100sten mal fragt wie man ne tecktzeile mittels batch löscht, filtert oder ersetzt.. kommt spontan die Antwort... so bitte was mach ich falsch ???
Nichts gegen den poster... richtet sich gerade gegen jemand ganz speziellen der sich hoffentlich wieder erkennt
gruss
Wenn ich nachfrage wie ich meine MySQL Datenbank mit dem AD Server sychronisiert bekomme ich die Antwort:"such bei google" wenn einer zum 100sten mal fragt wie man ne tecktzeile mittels batch löscht, filtert oder ersetzt.. kommt spontan die Antwort... so bitte was mach ich falsch ???
Nichts gegen den poster... richtet sich gerade gegen jemand ganz speziellen der sich hoffentlich wieder erkennt
gruss
Hallo
@bastla
das wird aber nur funktionieren, wenn der Threadersteller sich bei den Beispieldaten im 2.Satz vertippt hat.
@mathold
was dein Anliegen mit der Überschrift zu tun hat, weißt nur du allein.
Wenn deine Beispieldaten wirklich real sind, dann würd ich mir z.B. den AWK besorgen und das vorletzte und letzte Feld ausgeben lassen.
cu paulepank
@bastla
das wird aber nur funktionieren, wenn der Threadersteller sich bei den Beispieldaten im 2.Satz vertippt hat.
@mathold
was dein Anliegen mit der Überschrift zu tun hat, weißt nur du allein.
Wenn deine Beispieldaten wirklich real sind, dann würd ich mir z.B. den AWK besorgen und das vorletzte und letzte Feld ausgeben lassen.
cu paulepank