
77575
12.07.2009, aktualisiert um 20:35:14 Uhr
unterschiedliche string in csv löschen
hallo,
ich exportiere mit dem tool csvde die benutzer einer domäne in eine csv datei, diese daten werden f. ein anderes system zum importieren genutzt.
leider gibt das tool auch immer die OU container mit aus. diese muss ich nun löschen.
hier mal ein paar bsp. zeilen.
usw.
Ich muss jetzt alles löschen was zwischen den beiden Anführungszeichen steht, inklusive der Anführungszeichen und des darauffolgendem komma, also zum beispiel in der erstenzeile den Text
Bei vb script gibt es ja die funktion replace, nur nützt mir die in meinem fall nichts, weil der string der ersetzt werden soll in jeder zeile anders ist.
wenn man das ganze auch mit batch realisieren könnte wäre es super.
hab mir mal delims angeschaut aber komme nicht damit klar.
gruss 01-01-01
ich exportiere mit dem tool csvde die benutzer einer domäne in eine csv datei, diese daten werden f. ein anderes system zum importieren genutzt.
leider gibt das tool auch immer die OU container mit aus. diese muss ich nun löschen.
hier mal ein paar bsp. zeilen.
"CN=Mustermann Max,OU=Benutzer,DC=Firma,DC=DE",Max,Musterann,Berlin,Marketing,maxmustermann@firma.de
"CN=Sorglos Anita,OU=Benutzer,DC=Firma,DC=DE",Anita,Sorglos,Berlin,Finanzbuchlatung,anita.sorglos@firma.de
"CN=Meier Otto,OU=Benutzer,DC=Firma,DC=DE",Otto,Meier,München,Sales,Otto.Meier@firma.de
usw.
Ich muss jetzt alles löschen was zwischen den beiden Anführungszeichen steht, inklusive der Anführungszeichen und des darauffolgendem komma, also zum beispiel in der erstenzeile den Text
"CN=Mustermann Max,OU=Benutzer,DC=Firma,DC=DE",
Bei vb script gibt es ja die funktion replace, nur nützt mir die in meinem fall nichts, weil der string der ersetzt werden soll in jeder zeile anders ist.
wenn man das ganze auch mit batch realisieren könnte wäre es super.
hab mir mal delims angeschaut aber komme nicht damit klar.
gruss 01-01-01
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 120296
Url: https://administrator.de/forum/unterschiedliche-string-in-csv-loeschen-120296.html
Ausgedruckt am: 17.04.2025 um 19:04 Uhr
19 Kommentare
Neuester Kommentar
Hi,
für solche Dinge kann ich Dir den EmEditor empfehlen. Der bietet ziemlich umfangreiche "Suche & Ersetze" Möglichkeiten.
(siehe: http://emeditor.com)
Gruß
Bernd
für solche Dinge kann ich Dir den EmEditor empfehlen. Der bietet ziemlich umfangreiche "Suche & Ersetze" Möglichkeiten.
(siehe: http://emeditor.com)
Gruß
Bernd

Hallo 01-01-01!
Das sollte funktionieren:
Gruß Dieter
Das sollte funktionieren:
Const iPath = "F:\$Scripts\Test\Import.CSV"
Const ePath = "F:\$Scripts\Test\Export.CSV"
Dim Fso, iFile, eFile, Text
Set Fso = CreateObject("Scripting.FileSystemObject")
Set iFile = Fso.OpenTextFile(iPath)
Set eFile = Fso.CreateTextFile(ePath)
Do Until iFile.AtEndOfStream
Text = Split(iFile.ReadLine, """")
If UBound(Text) = 2 Then eFile.WriteLine Mid(Text(2), 2)
Loop
iFile.Close: eFile.Close
MsgBox "Der Exportvorgang ist beendet!", vbInformation, "Meldung"
Gruß Dieter
Moin 01-01-01,
unabhängig davon, dass wir hier sicherlich eine Batch/VBS/whatever-Lösung finden werden,
In meiner Jugend war dieses CSV-Format so beliebt, weil wir damals bei jedem Import sagen konnten:
"Nimm nur Felder 1, 3, 7 und 10, aber bitte in der Reihenfolge Feld1, Feld7, Feld10 und dann Feld3"
Ist so etwas mit dieser neumodischen Manymany-Kernels-Architektur heute nicht mehr möglich?
Grüße
Biber
unabhängig davon, dass wir hier sicherlich eine Batch/VBS/whatever-Lösung finden werden,
ich exportiere mit dem tool csvde die benutzer einer domäne ...
- und wer zwingt Dich dann, das OU-Feld mit rauszulutschen?
diese daten werden f. ein anderes system zum importieren genutzt.
- und wer zwingt dieses Tool, alle Felder in der CSV-Datei zu nutzen?
In meiner Jugend war dieses CSV-Format so beliebt, weil wir damals bei jedem Import sagen konnten:
"Nimm nur Felder 1, 3, 7 und 10, aber bitte in der Reihenfolge Feld1, Feld7, Feld10 und dann Feld3"
Ist so etwas mit dieser neumodischen Manymany-Kernels-Architektur heute nicht mehr möglich?
Grüße
Biber

Hallo Biber!
In meiner Jugend gab es noch kein Excel, aber heute geht das noch mit der Textimportfunktion
Gruß Dieter
Zitat von @Biber:
In meiner Jugend war dieses CSV-Format so beliebt, weil wir damals
bei jedem Import sagen konnten:
"Nimm nur Felder 1, 3, 7 und 10, aber bitte in der
Reihenfolge Feld1, Feld7, Feld10 und dann Feld3"
In meiner Jugend war dieses CSV-Format so beliebt, weil wir damals
bei jedem Import sagen konnten:
"Nimm nur Felder 1, 3, 7 und 10, aber bitte in der
Reihenfolge Feld1, Feld7, Feld10 und dann Feld3"
In meiner Jugend gab es noch kein Excel, aber heute geht das noch mit der Textimportfunktion
Gruß Dieter
Moin didi1954,
<OT>
Aber die Erfindung des CSV-Formats geht nicht auf deren PraktikantInnenkonto.
Woran sie allerdings (vor allem durch Excel) verantwortlich sind ist, dass durch den jahrelangen Excel-Quasi-Standard die comma separated values-Dateien im Allgemeinen semicolon separated gemeint sind, wenn jemand eine CSV-Datei für Import/Export plant.
Aber wenn 01-01-01 doch mit dem Zielsystem "Excel" gemeint hätte, dann würde er doch ohnehin "Jose" für AD-Abfragen verwenden, oder?
</OT>
Grüße
Biber
<OT>
Zitat von @76109:
In meiner Jugend gab es noch kein Excel...
Ich nehme ja die Redmonder in Schutz, wo und wann auch immer ich kann.In meiner Jugend gab es noch kein Excel...
Aber die Erfindung des CSV-Formats geht nicht auf deren PraktikantInnenkonto.
Woran sie allerdings (vor allem durch Excel) verantwortlich sind ist, dass durch den jahrelangen Excel-Quasi-Standard die comma separated values-Dateien im Allgemeinen semicolon separated gemeint sind, wenn jemand eine CSV-Datei für Import/Export plant.
Aber wenn 01-01-01 doch mit dem Zielsystem "Excel" gemeint hätte, dann würde er doch ohnehin "Jose" für AD-Abfragen verwenden, oder?
</OT>
Grüße
Biber
Moin 01-01-01,
damit Du erstmal eine funktionierende Lösung bekommst.
Die beiden Methoden [FileSystemObject.]OpenTextfile() und .CreateTextFile() kennen jeweils noch einen Parameter für Textdateien im Unicodeformat.
Wenn Du die INPUT-Datei als als Unicode lesen willst
Deine anderen Antworten bzw Rückfragen habe ich gelesen, aber hab momentan keine Zeit dafür.
.
Grüße
Biber
damit Du erstmal eine funktionierende Lösung bekommst.
Die beiden Methoden [FileSystemObject.]OpenTextfile() und .CreateTextFile() kennen jeweils noch einen Parameter für Textdateien im Unicodeformat.
Wenn Du die INPUT-Datei als als Unicode lesen willst
Set iFile =Fso.OpenTextFile(iPath, , , -1) ' 4.Parameter Tristatetrue auf (-1) setzen -->Unicode
bzw die Ergebnisdatei als ASCII (bzw. nicht Unicode) wegschreiben willstSet eFile = Fso.CreateTextFile(ePath, , FALSE) ' 3.Parameter TRUE = unicode; FALSE ist DEFAULT
Deine anderen Antworten bzw Rückfragen habe ich gelesen, aber hab momentan keine Zeit dafür.
.
Grüße
Biber
hmpf also wenn ich in meine ad console gehe und auf benutzer einen rechtsklick mache erscheint dort "liste exportieren".
er exportiert mir dann alle angezeigten spalten (kann man sich in der ansicht auswählen) in eine csv datei ohne ou.
und die geht wunderbar im excel öffnen und dort steht dann zb:
Mustermann,Gruppe,Abteilung,
Mehr Spalten lasse ich bei mir nicht anzeigen.
kannst auch mal das programm Hyena testen. damit arbeiten wir zb.
lg
er exportiert mir dann alle angezeigten spalten (kann man sich in der ansicht auswählen) in eine csv datei ohne ou.
und die geht wunderbar im excel öffnen und dort steht dann zb:
Mustermann,Gruppe,Abteilung,
Mehr Spalten lasse ich bei mir nicht anzeigen.
kannst auch mal das programm Hyena testen. damit arbeiten wir zb.
lg
Moin 01-01-01,
okay, wenn Du jetzt zumindest eine mögliche Lösungsvariante sicher hast,
dann kann ich etwas entspannter mein "ja, aber.." formulieren.
Ich habe gerade nach einer relativ uninspirierten Suchmaschinenbefragung ("cvsde syntax") und dreimal Klicken
beispielsweise die (Schritt-für-Schritt-Her)Anleitung CSVDE Export user Accounts gefunden.
Dort wird an einer Stelle, die der Leser/die Leserin nach ca 17sec stressfrei erreicht als ein Beispiel für einen Nur-5-für-mich-wichtige-Felder-Export hergeleitet:
Ich denke also (nach wie vor), dass mit einem kurzen 5-Minuten-Mittagspausen-Rumgugeln die ganze Klamotte auch
Grüße
Biber
okay, wenn Du jetzt zumindest eine mögliche Lösungsvariante sicher hast,
dann kann ich etwas entspannter mein "ja, aber.." formulieren.
Ich habe gerade nach einer relativ uninspirierten Suchmaschinenbefragung ("cvsde syntax") und dreimal Klicken
beispielsweise die (Schritt-für-Schritt-Her)Anleitung CSVDE Export user Accounts gefunden.
Dort wird an einer Stelle, die der Leser/die Leserin nach ca 17sec stressfrei erreicht als ein Beispiel für einen Nur-5-für-mich-wichtige-Felder-Export hergeleitet:
Command: CSVDE -f export4.csv -r objectClass=user -l "DN, objectclass, givenName, sn, name"
Ich denke also (nach wie vor), dass mit einem kurzen 5-Minuten-Mittagspausen-Rumgugeln die ganze Klamotte auch
- ohne Zwischen-CSV-Dateien und
- ohne "Do until ( Kunde.AtEndOfStream or nerven =BLANK)"
Grüße
Biber

Hallo zusammen!
Sorry, hatte gestern leider keine Zeit und einen miesen Tag dazu.
OP-Termin Uni-Klinik-Heidelberg und heftiger Autoschaden. Auf dem Klinikgeländere ca 500m vorm Ziel, bin ich wegen einer Diesel-Spur eines Verkehrsbusses in einer Kurve geradeaus gefahren. Das Problem dabei, es ging nur nach Rechts oder Links
Hoffe bloß, dass die Verkehrsbetriebe den Schaden übernehmen, sonst wird's sehr sehr Teuer
@Biber
Danke für's Einspringen.
Gruß Dieter
Sorry, hatte gestern leider keine Zeit und einen miesen Tag dazu.
OP-Termin Uni-Klinik-Heidelberg und heftiger Autoschaden. Auf dem Klinikgeländere ca 500m vorm Ziel, bin ich wegen einer Diesel-Spur eines Verkehrsbusses in einer Kurve geradeaus gefahren. Das Problem dabei, es ging nur nach Rechts oder Links
@Biber
Danke für's Einspringen.
Gruß Dieter
Moin didi1954,
<OT>
Verkehrsbetriebe sind da ja sehr kulant - die werden einen Sachverständigen auf das ansetzen, was gestern noch Dein Auto war, und falls ein eingerasteter Blinkhebel Deinen Rechts-oder-Links-Abbiegewillen hinreichend dokumentiert, dann hast du Chancen.
Du hast doch geblinkt, oder...?
Wie dem auch sei, auch wenn es nicht klappen sollte
Deine Geradlinigket erkennen wir auf jeden Fall an...
</OT>
Grüße
Biber
<OT>
Verkehrsbetriebe sind da ja sehr kulant - die werden einen Sachverständigen auf das ansetzen, was gestern noch Dein Auto war, und falls ein eingerasteter Blinkhebel Deinen Rechts-oder-Links-Abbiegewillen hinreichend dokumentiert, dann hast du Chancen.
Du hast doch geblinkt, oder...?
Wie dem auch sei, auch wenn es nicht klappen sollte
Deine Geradlinigket erkennen wir auf jeden Fall an...
</OT>
Grüße
Biber

Hallo Biber!
Danke für Deine aufmunternten Worte
Na, selbstverständlich habe ich geblinkt
Aber ich musste ja die vielbefahrene Zufahrtsstraße freimachen. Und außer meinem Auto, ist ja nix beschädigt, da lediglich ein hoher Bordstein im Weg war, der mir das rechte Vorderrad zerfetzt, Rahmenteile geknickt, das Lenkgestänge und sonstige Teile ein paar Zentimenter nach innen verschoben hat. Nach einem Radwechsel bin auch noch ins Parkhaus und Heute wieder ganz vorsichtig nach Hause gefahren.
Die Polizei war da und die Feuerwehr hatte auch schon Bescheid gewusst, aber noch nichts unternommen. Keine Schilder aufgestellt oder sonstiges. Erst nachdem die Polizei nachgehakt hat, wurde die Straße über mehrere Hundert Meter gereinigt. Und die Polizei war es auch, die den Verursacher ermittelt und gesagt hat, dass mir der Schaden, WENN ICH GLÜCK HABE, von den Verkehrsbetrieben ersetzt wird. Morgen lass ich mir mal einen Kostenvoranschlag machen
und bin auf das Ergebniss sehr gespannt????
Gruß Dieter
Danke für Deine aufmunternten Worte
Na, selbstverständlich habe ich geblinkt
Die Polizei war da und die Feuerwehr hatte auch schon Bescheid gewusst, aber noch nichts unternommen. Keine Schilder aufgestellt oder sonstiges. Erst nachdem die Polizei nachgehakt hat, wurde die Straße über mehrere Hundert Meter gereinigt. Und die Polizei war es auch, die den Verursacher ermittelt und gesagt hat, dass mir der Schaden, WENN ICH GLÜCK HABE, von den Verkehrsbetrieben ersetzt wird. Morgen lass ich mir mal einen Kostenvoranschlag machen
Gruß Dieter