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, 3180 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 ..
Neuester Wissensbeitrag
Exchange Server

WSUS bietet CU22 für Exchange 2007 SP3 nicht an. EOL Exchange 2007

Tipp von DerWoWusste zum Thema Exchange Server ...

Ähnliche Inhalte
Windows Server
gelöst DirectAccess Einstellungen im AD entfernen (3)

Frage von Neukunde zum Thema Windows Server ...

Outlook & Mail
Outlook 2016 - Entfernen des Löschbuttons in Nachrichtenzeile (1)

Frage von ArnoNymous zum Thema Outlook & Mail ...

Windows 7
gelöst Windows Explorer, wie untere Infoleiste entfernen? (2)

Frage von Server4Alle zum Thema Windows 7 ...

Outlook & Mail
Exchange Konten Sauber aus Outlook entfernen (6)

Frage von MultiStorm zum Thema Outlook & Mail ...

Heiß diskutierte Inhalte
Exchange Server
Test-ActiveSyncConnectivity Error nach neuem Zertifikat (17)

Frage von Driphex zum Thema Exchange Server ...

Batch & Shell
gelöst Batch xls nach aktuellem Datum auslesen und email senden (14)

Frage von michi-ffm zum Thema Batch & Shell ...

Backup
Datensicherung ARCHIV (12)

Frage von fautec56 zum Thema Backup ...