Batch: CSV per CSV durchsuchen geht nicht?

2 Antworten

Der allereinfachste Weg wäre:

    Lass einfach das "/v" weg.

Schau Dir mal die Optionen des FINDSTR-Befehls in Deiner Windows-Version an:

FINDSTR /?

––––––––––––––––––––––––––––––––––––––––––––––––––

Ich möchte aber auch mal den Vorschlag von BlvckBytes aufgreifen:

VBScript bietet sehr viel mehr Möglichkeiten, erfordert aber dafür etwas mehr Quellcode.

Du kannst damit die CSV-Datei direkt öffnen und Zeilenweise auslesen. Hinzu kommt, dass Du für komplexere Abfragen u.a. auch RegExp-Ausdrücke verwenden kannst.

So mal so ein Code-Beispiel:

Option Explicit

Const fnIn = "fertig.csv"
Const fnOut = "gefiltert.csv"
Const SearchString = "4056204302446"Dim fso, tsIn, tsOut, line

Set fso = CreateObject("Scripting.FileSystemObject")
Set tsIn = fso.OpenTextFile(fnIn, ReadMode, False)Set tsOut = fso.OpenTextFile(fnOut, WriteMode, True)

Do While Not tsIn.AtEndOfStream
line = tsIn.ReadLine
If InStr(1, line, SearchString) Then
tsOut.WriteLine line
End If
Loop

tsIn.Close
tsOut.Close

Anstatt einer einfachen Text-Positions-Abfrage (InStr) kannst Du hier dann auch ein RegEx-Objekt benutzen.

Das kannst Du dann auch mit einem DirDiver-Algorithmus erweitern.

Warum machst du das mit Batch und nicht mit einer Höheren Sprache? 

LG BlvckBytes

cwendel 
Fragesteller
 17.10.2016, 08:04

was meinst du mit höhere Sprache. Welche es ist mir erstmal egal. Ich habe alles bis jetzt immer mit Batch gemacht. Wenn es mit der Shell geht auch gut. Ich habe da kaum Ahnung und suche es mir eher zusammen.

Kannst du mir helfen?

0