Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Leerzeichen in der mitte der Textzeile entfernen?

Frage Entwicklung Batch & Shell

Mitglied: 0belixx

0belixx (Level 1) - Jetzt verbinden

20.07.2012, aktualisiert 08:45 Uhr, 3181 Aufrufe, 4 Kommentare

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
Mitglied: bastla
20.07.2012 um 08:50 Uhr
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
Bitte warten ..
Mitglied: 0belixx
20.07.2012 um 08:59 Uhr
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
Bitte warten ..
Mitglied: bastla
20.07.2012 um 09:04 Uhr
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:
01.
@echo off & setlocal 
02.
set "Ein=Quell.csv" 
03.
set "Aus=Target.csv" 
04.
 
05.
(for/f "usebackq delims=" %%i in ("%Ein%") do ( 
06.
    set "Zeile=%%i" 
07.
    setlocal enabledelayedexpansion 
08.
    echo !Zeile: =! 
09.
    endlocal 
10.
))>>"%Aus%"
Grüße
bastla
Bitte warten ..
Mitglied: 0belixx
24.08.2012 um 11:23 Uhr
Danke klappt so.

Gruß 0belixx
Bitte warten ..
Ähnliche Inhalte
Ubuntu
gelöst Wie kann man es tun? Alle Zeilen mit 2 und mehr Leerzeichen entfernen (1)

Frage von takitano zum Thema Ubuntu ...

Windows Tools
gelöst Nicht mehr vorhandene Computer aus der AD entfernen (6)

Frage von M.Marz zum Thema Windows Tools ...

Batch & Shell
gelöst Schreiben eines Strings mit Leerzeichen in eine Datei (6)

Frage von c20082005 zum Thema Batch & Shell ...

Exchange Server
gelöst Exchange als Domänencontroller entfernen (4)

Frage von nano1994 zum Thema Exchange Server ...

Heiß diskutierte Inhalte
Windows 7
gelöst BOOTMGR is missing (auch nach bootrec -RebuildBcd) (21)

Frage von Mipronimo zum Thema Windows 7 ...

Router & Routing
Tipps für Router (ca. 100 clients, VPN) (20)

Frage von oel-auge zum Thema Router & Routing ...

Windows Userverwaltung
Windows Freigabe: Zugriff auf alle Ordner trotz Sicherheitseinstellungen (18)

Frage von Pandreas zum Thema Windows Userverwaltung ...

Exchange Server
gelöst MS Exchange 2016 - Basicconfig Fragen (16)

Frage von maddig zum Thema Exchange Server ...