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, 3188 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 Systemdateien
Windows 10 Registry Einträge entfernen (18)

Frage von Hendrik2586 zum Thema Windows Systemdateien ...

Batch & Shell
gelöst Powershell Wert der Property entfernen manipulieren (9)

Frage von Nintox zum Thema Batch & Shell ...

Batch & Shell
gelöst Einen Teil eines Textpfades aus einer TXT per Batch entfernen!? (3)

Frage von kampen zum Thema Batch & Shell ...

Neue Wissensbeiträge
RedHat, CentOS, Fedora

Fedora, RedHat, Centos: DNS-Search Domain setzen

(13)

Tipp von Frank zum Thema RedHat, CentOS, Fedora ...

Drucker und Scanner

Samsung SL-M4025ND, firmware update und (kompatible) Tonerkassetten

(1)

Erfahrungsbericht von markus-1969 zum Thema Drucker und Scanner ...

Heiß diskutierte Inhalte
CMS
Lokales Wordpress im LAN - wie aufsetzen? (16)

Frage von Static zum Thema CMS ...

Java
gelöst Net user per script aus txt oder csv für FTP (15)

Frage von OlliPWS zum Thema Java ...

Exchange Server
Microsoft Exchange Weiterleitung mit anderer primären E-Mail Adresse (14)

Frage von Rene12345 zum Thema Exchange Server ...

LAN, WAN, Wireless
IP im privaten Netz nicht erreichbar (14)

Frage von guntis zum Thema LAN, WAN, Wireless ...