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

Bestimmtes Feld einer csv mittels batch prüfen

Frage Entwicklung Batch & Shell

Mitglied: FlashGordon

FlashGordon (Level 1) - Jetzt verbinden

25.11.2011 um 20:59 Uhr, 2981 Aufrufe, 6 Kommentare

Hallo zusammen,
ich habe schon mit dem mir zur Verfügung stehenden Wissen versucht nach einer gewissen Anzahl an Zeichen zu suchen und zu prüfen, allerdings ohne Erfolg.

Ich habe eine CSV die ich mittels Batch "prüfen" möchte.
In der ersten Zeile der CSV befindet sich die Überschrift:

Feld1;Feld2;Feld3
Feld1;Feld2;Feld3
AANTONE12;Bla;Blub
HSTÜTT27;Tim;Struppi
ZCLEAN31;Ad;Vent


Die benötigte Batch Datei soll 2 Dinge prüfen:

1. Ob in Feld 1 ein Umlaut, oder "ß" enthalten ist
2. Ob der Wert in Feld 1 länger als 8 Zeichen ist

Wenn eine der beiden Bedingungen erfüllt ist soll der "schuldige" Wert aus Feld 1 in eine log.txt geschrieben werden.
Ansonsten NIX.


Wäre toll wenn hier jemand ne Idee hat.

Danke euch vorab.

Gruß
Mitglied: 60730
25.11.2011 um 21:35 Uhr
moin,

dann entwickeln wir das mal...

  • irgendwas komplett gleich immer wieder abarbeiten - dazu nimmt man eine Schleife - die via for aufgebaut wird.
dazu findest du hier ein ganz gutes Tutorial

1. Ob in Feld 1 ein Umlaut, oder "ß" enthalten ist
  • das ist auch einfach...
C:\>echo ß |findstr /i "ä ö ü ß" && echo jupp 
ß 
jupp 
C:\>
Das mag jetzt zwar komplex sein und es gibt auch kein großes ß, aber die Mimik wirst du hier schon oft gefunden haben.

2. Ob der Wert in Feld 1 länger als 8 Zeichen ist
Da hilft die set /? weiter...

C:\>set "wert=123456789" 
C:\>if not "%wert:~8,1%" == "" echo yupp 
yupp 
C:\>set "wert=abcdefgh" 
C:\>if not "%wert:~8,1%" == "" echo yupp 
C:\>
Ich halte eher mehr davon, nur Tipps und Anstöße zu geben, obwohl die meistens schwerer zu formulieren sind, als komplette Batche - aber es geht ja darum, das du das verstehst.

Gruß
Bitte warten ..
Mitglied: bastla
25.11.2011 um 22:03 Uhr
@T-Mo

Machmal genügt aber das Testen ohne Schleife doch nicht - ich hatte die gleiche Idee, aber bei mir tut's das "findstr" (unter XP SP3) nach Deinem Muster nicht; Workaround:
for %%i in (Ä ä Ö ö Ü ü ß) do echo %wert%|find "%%i">nul && echo %wert%
if not "%wert:~8,1%" == "" echo yupp
lässt sich etwas sparsamer auch
if "%wert:~8%" neq "" echo yupp
schreiben ...

Grüße
bastla
Bitte warten ..
Mitglied: FlashGordon
26.11.2011 um 02:01 Uhr
Schon mal super! Danke!
Vielleicht sollte ich ergänzen dass in Feld 3 ein Umlaut, oder ein ß stehen darf/kann.
Bitte warten ..
Mitglied: Biber
01.12.2011 um 19:45 Uhr
Moin Flaps,

Zitat von FlashGordon:
Schon mal super! Danke!
Vielleicht sollte ich ergänzen dass in Feld 3 ein Umlaut, oder ein ß stehen darf/kann.

Wenn keine weiteren Fragen mehr offen sind, dann könntest du eigentlich noch etwas ergänzen....

Hint: Es ist grün und hängt ziemlich weit oben, ist aber kein Ballonfahrer bei Sturmböen...

Grüße
Biber
Bitte warten ..
Mitglied: FlashGordon
01.12.2011 um 20:30 Uhr
Naja...ich könnte sagen dass ich das irgendwie nicht zum laufen bekomme.
Bitte warten ..
Mitglied: Biber
01.12.2011 um 20:34 Uhr
Zitat von FlashGordon:
Naja...ich könnte sagen dass ich das irgendwie nicht zum laufen bekomme.

Das Grüne jezz' oder wovon reden wir??


[Edit]

21....
22....

So, einen T-Moartigen Hint hätte ich noch.

Demo am CMD-Prompt:
d:\temp>@for %a in (grünes Häkchen) do @for %i in (Ä ä Ö ö Ü ü ß) do @echo %a|find "%i">nul && @echo "%a" enthält Umlaut "%i". 
"grünes" enthält Umlaut "ü". 
"Häkchen" enthält Umlaut "ä".
[/Edit]

Grüße
Biber
Bitte warten ..
Ähnliche Inhalte
Datenbanken
Informix SE Tabelle alle Felder auf NULL prüfen (4)

Frage von RalfHackmann zum Thema Datenbanken ...

VB for Applications
gelöst Feld mit CSV-Daten aus MySQL-Datenbank einlesen (3)

Frage von Andreas.HH1 zum Thema VB for Applications ...

Batch & Shell
Batch zum bearbeiten mehrerer CSV (3)

Frage von Matzus87 zum Thema Batch & Shell ...

Neue Wissensbeiträge
Windows Update

Microsoft Update KB4034664 verursacht Probleme mit Multimonitor-Systemen

Tipp von beidermachtvongreyscull zum Thema Windows Update ...

Viren und Trojaner

CNC-Fräsen von MECANUMERIC werden (ggf.) mit Viren, Trojanern, Würmern ausgeliefert

(4)

Erfahrungsbericht von anteNope zum Thema Viren und Trojaner ...

Windows 10

Windows 10: Erste Anmeldung Animation deaktivieren

(3)

Anleitung von alemanne21 zum Thema Windows 10 ...

Heiß diskutierte Inhalte
Router & Routing
gelöst Linksys wrt1200ac v2 mit dd-wrt: keine vlan-einstellungen im GUI (15)

Frage von Pixi123 zum Thema Router & Routing ...

E-Business
Wo tragt ihr eure privaten Termine ein? (13)

Frage von honeybee zum Thema E-Business ...

Entwicklung
gelöst Tipp für Anfänger- Wie würdet ihr automatischen Mailversand umsetzen? (12)

Frage von Cloudyme zum Thema Entwicklung ...

Windows Server
Terminalserver starten willkürlich neu (12)

Frage von thaefliger zum Thema Windows Server ...