Sonderzeichen per Batch aus csv entfernen
Hallo Leute,
ich suche eine schnell möglichkeit aus einer csv datei oder text datei alle " < > / \ zu entfernen. Also auch das Anführungszeichen.
ich bin mir sicher, dass keines davon in der datei benötigt wird
danke für eure hilfe.
ich suche eine schnell möglichkeit aus einer csv datei oder text datei alle " < > / \ zu entfernen. Also auch das Anführungszeichen.
ich bin mir sicher, dass keines davon in der datei benötigt wird
danke für eure hilfe.
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 78151
Url: https://administrator.de/contentid/78151
Ausgedruckt am: 20.11.2024 um 08:11 Uhr
7 Kommentare
Neuester Kommentar
Moin OFFLINE,
wenn es Deine Anforderung richtig verstehe, dann rankt es sich ja auch diese Zeile aus dem ursprünglichen Thread leerzeichen am anfang und ende...:
Ich würde dann, statt die Imptest.csv direkt zu lesen, lieber eine bereinigte Kopie davon verarbeiten.
Das macht ein temporärer VBS-Oneliner (eigentlich bastlas Spezialität...).
In diesem Beispiel wird mit dreimaligem Replace()--Aufruf jedes "/", "\" und Anführungszeichen durch "nichts" ersetzt.
Eine Erweiterung auf weitere ungeliebte Zeichen bekommst Du selbst hin.
Schlimmstenfalls wird es halt ein Mehrzeiler... <grinz>
Grüße
Biber
wenn es Deine Anforderung richtig verstehe, dann rankt es sich ja auch diese Zeile aus dem ursprünglichen Thread leerzeichen am anfang und ende...:
...
FOR /F "eol=# delims=" %%z IN (imptest.csv) DO set "Zeile=%%~z" & call :ProcessLine
Ich würde dann, statt die Imptest.csv direkt zu lesen, lieber eine bereinigte Kopie davon verarbeiten.
Das macht ein temporärer VBS-Oneliner (eigentlich bastlas Spezialität...).
...
set "RUC=%temp%\ReplaceUnwantedChars.vbs"
set "callRUC=cscript //nologo %RUC%"
echo Wscript.Echo Replace(Replace(Replace(CreateObject("Scripting.FileSystemObject").OpenTextFile(wscript.arguments(0)).ReadAll, "\",""),"/",""), chr(34),"")>%RUC%
FOR /F "eol=# delims=" %%z IN ('%callRuc% imptest.csv') DO set "Zeile=%%~z" & call :ProcessLine
....
In diesem Beispiel wird mit dreimaligem Replace()--Aufruf jedes "/", "\" und Anführungszeichen durch "nichts" ersetzt.
Eine Erweiterung auf weitere ungeliebte Zeichen bekommst Du selbst hin.
Schlimmstenfalls wird es halt ein Mehrzeiler... <grinz>
Grüße
Biber
@Biber
Eigentlich hätte ich auch noch mehr aus dem angesprochenen Thread nach VBS verlagert, aber auf meine diesbezügliche Frage (ok, 15.01.2008 um 01:24:11 Uhr ist noch nicht soo lange her ) noch keine Antwort erhalten, und mich zwischenzeitlich doch in Batch versucht ...
Zu der Frage hier: "sed" (zB GNU sed version 3.02.80 - etwa von hier) ist ja noch gar nicht erwähnt worden ...
Grüße
bastla
Eigentlich hätte ich auch noch mehr aus dem angesprochenen Thread nach VBS verlagert, aber auf meine diesbezügliche Frage (ok, 15.01.2008 um 01:24:11 Uhr ist noch nicht soo lange her ) noch keine Antwort erhalten, und mich zwischenzeitlich doch in Batch versucht ...
Zu der Frage hier: "sed" (zB GNU sed version 3.02.80 - etwa von hier) ist ja noch gar nicht erwähnt worden ...
Grüße
bastla
Moin bastla,
Ja, hatte ich auch gelesen.
Die eigentliche Aufgabe ist ja auch schmerzfrei mit Batch/einer For/F-Anweisung erledigt.
Nur kommen ja gleich zwei Sonderfälle vor (mehr als 9 Parameter UND Batch-Steuerzeichen im Text). die einen Oneliner zwar nicht unmöglich, aber zwar wartbar machen...
Meine Unterstützung hast Du für einen reinen VBS-Schnipsel hier auf jeden Fall.
SED wäre ja hier nur ein trotziges "Es geht aber auch ohne VBS." bzw. überdimensioniert für jemanden, der es halt nicht standardmäßig im %path% installiert hat.
Grüße
Biber
Eigentlich hätte ich auch noch mehr aus dem angesprochenen Thread nach VBS verlagert,..
Ja, hatte ich auch gelesen.
Die eigentliche Aufgabe ist ja auch schmerzfrei mit Batch/einer For/F-Anweisung erledigt.
Nur kommen ja gleich zwei Sonderfälle vor (mehr als 9 Parameter UND Batch-Steuerzeichen im Text). die einen Oneliner zwar nicht unmöglich, aber zwar wartbar machen...
Meine Unterstützung hast Du für einen reinen VBS-Schnipsel hier auf jeden Fall.
SED wäre ja hier nur ein trotziges "Es geht aber auch ohne VBS." bzw. überdimensioniert für jemanden, der es halt nicht standardmäßig im %path% installiert hat.
Grüße
Biber
@Biber
Ich finde nur einfach einen derartigen Thread ohne Hinweis auf "sed" irgendwie unvollständig ...
Grüße
bastla
SED wäre ja hier nur ein trotziges "Es geht aber auch ohne VBS."
Noch nicht einmal - da ich im anderen Thread ohnehin schon bezichtigt wurde, das Ganze zum Spaß zu machen, hätte ich schon noch etwas weitergebatcht ... Ich finde nur einfach einen derartigen Thread ohne Hinweis auf "sed" irgendwie unvollständig ...
Grüße
bastla