0belixx
Goto Top

Leerzeichen in der mitte der Textzeile entfernen?

Ich lese aus einer Datenbank eine csv Datei aus, die hat leider Leerzeichen, die muss ich nun beseitigen. Am besten per Batch

Habe nun schon eine Weile hier gesucht, aber leider nichts gefunden was passen könnte.

Im einzelnen:

in einem Datenbankfeld ist die Adresse in etwa so 'Dorfstr. 1' ich muss nun diese Daten in eine andere csv schreiben(dort sammele ich Daten aus mehreren Textdateien)

Folgendes habe ich probiert.

For /F "tokens=1 delims=:" %%f in (Quell.csv) do (echo %%f>>Target.csv)

in den verschiedensten Abwandlungen. Mal ist das Ergebniss so

"Dorfstr. 1";12345,"Stadtname",.......usw

mal so

"Dorstr. (und weiter nix)

wäre schön wenn jemand mir helfen könnte

Content-Key: 188345

Url: https://administrator.de/contentid/188345

Printed on: April 25, 2024 at 09:04 o'clock

Member: bastla
bastla Jul 20, 2012 at 06:50:09 (UTC)
Goto Top
Hallo Obelixx!

Bitte etwas konkreter: Ist das fragliche Feld tatsächlich das erste des Datensatzes, und soll tatsächlich nur dieses eine Feld in die Zieldatei? Sollen sämtliche vorkommende Leerzeichen entfernt werden?

Am besten eine Beispielzeile (als "Code" formatiert) vor und nach der Bearbeitung posten ...

Grüße
bastla
Member: 0belixx
0belixx Jul 20, 2012 at 06:59:00 (UTC)
Goto Top
Hallo bastla,

ich möchte hier nicht die original daten posten.

die Zeile sieht aber in etwa so aus:

A;47110815;0815;;Mustermann;Max;Dorfstr. 1;Germany;123456;Musterstadt;user@aol.com;01.07.2012(und noch ein paar Daten mehr)

bisher ist das das einzige Leerzeichen was mir aufgefallen ist, aber der Kreativität der Nutzer ist ja bekanntlich keine Grenze gesetzt. Ich würde sagen das alle Leerzeichen raus sollen. Ich brauche jedenfalls keine in der Datei.

Gruß 0belixx
Member: bastla
bastla Jul 20, 2012 at 07:04:26 (UTC)
Goto Top
Hallo Obelixx!

Das beantwortet zwar noch nicht wirklich meine Fragen, aber unter der Annahme, dass einfach die gesamte Zeile ohne jegliche Leerzeichen geschrieben werden soll, ungetestet etwa so:
@echo off & setlocal
set "Ein=Quell.csv"  
set "Aus=Target.csv"  

(for/f "usebackq delims=" %%i in ("%Ein%") do (  
    set "Zeile=%%i"  
    setlocal enabledelayedexpansion
    echo !Zeile: =!
    endlocal
))>>"%Aus%"  
Grüße
bastla
Member: 0belixx
0belixx Aug 24, 2012 at 09:23:20 (UTC)
Goto Top
Danke klappt so.

Gruß 0belixx