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-ID: 188345

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

Ausgedruckt am: 25.11.2024 um 23:11 Uhr

bastla
bastla 20.07.2012 um 08:50:09 Uhr
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
0belixx
0belixx 20.07.2012 um 08:59:00 Uhr
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
bastla
bastla 20.07.2012 um 09:04:26 Uhr
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
0belixx
0belixx 24.08.2012 um 11:23:20 Uhr
Goto Top
Danke klappt so.

Gruß 0belixx