Batch: findstr

Hallo,

habe viele verschiedene txt Dateien.
Mittels findstr /I /S /R suche ich ab und zu
einige Namen, Begriffe etc.
Hat immer gut funktioniert.

Heute habe ich festgestellt, dass findstr
kein grosses Ä, Ü etc. findet.

Beispiel:
Gebrüder wird gefunden
GebrÜder oder GEBRÜDER aber nicht.

Habe schon verschiedene andere Parameter getestet, nichts.

Und:
Der Parameter /C funktioniert überhaupt nicht.
Meldung: C wird ignoriert

Klaus

Moin

Wäre natürlich schön , wenn du deinen genauen Aufruf hier auch in der Frage dokumentiert hättest.
Bei mir funktioniert es:
In der Datei sucht.txt steht folgendes

GebrÜder
Gebrüder
mÄlzer
Mälzer
mälzer

Aufruf:
findstr /S /R /C:"GebrÜder" \*.txt \>find.txt
Ergebnis: 
such.txt:GebrÜder

oder
findstr /S /R "Ü ä" \*.txt
Ergebnis:
such.txt:GebrÜder
such.txt:Mälzer
such.txt:mälzer

oder
findstr /S /R /I /C:"GebrÜder" \*.txt
Ergebnis:
such.txt:GebrÜder
such.txt:Gebrüder

usw.

Das läßt nun den Schluss zu, daß es grundsätzlich funktioniert, aber bei regulären Ausdrücken ( Parameter /I ) wohl ein wenig Feintuning notwendig ist. Vielleicht helfen dir die Beispiele ja weiter. Bei regulären Ausdrücken kann ich dir leider nicht weiterhelfen

Gruss
DiBo

Moin

Wäre natürlich schön , wenn du deinen genauen Aufruf hier auch
in der Frage dokumentiert hättest.
Gruss
DiBo

Hallo DiBo,

habe ich doch angegeben:
findstr /I /S /R

Parameter /C kann ich nicht testen.
Es kommt immer die Meldung: C wird ignoriert
Wieso?

Klaus

Moin, Klaus,

Es kommt immer die Meldung: C wird ignoriert
Wieso?

weil die Syntax so streng ist: findstr /c:""

Gruß Ralf

Hallo Ralf,

Tschuldigung, hatte wenig Zeit.

Das habe ich inzwischen bemerkt.
Habe den Doppelpunkt vergessen.
Trotzdem:
Es haut nicht hin.
Habe streng nach der Syntax alle Parameter ausprobiert.
Einzeln, mit anderen Parametern in Kombination, NICHTS.
Komischerweise wird ein kleines ä ü gefunden.

Ich habe eine Uralt-Tastatur angeschlossen (die klickt so schön).
Kann es sein, dass manche Zeichen falsch rüberkommen?
Wäre aber unlogisch, dann dürfte auch kein Ä oder Ü ausgedruckt werden

Ich habe hier noch einen älteren PC (auch XP).
Angenommen da funktioniert die Suche.
Welche Rückschlüsse kann man dan ziehen?

Gruss Klaus

Moin, Klaus,

der alte DOS-Befehl find verhält sich unter Windows ebenso, große Umlaute werden ignoriert. Unter DOS hätte ich jetzt nach den Codepages gesucht - zu Windows fällt mir nichts ein, da braucht es keine config.sys.

Auf meinem ältesten Rechner mit DOS 6.22 tut der find, was er soll.

Gruß Ralf

Hallo Ralf,

noch eine Frage,

du hattest ja geschrieben, dass es bei dir funktioniert.
Welches Betriebsystem?
Wenn auch XP, dann verstehe ich das nicht.
Dann muss bei mir irgendwas falsch konfiguriert sein.
Aber was?
Da war DOS doch übersichtlicher.

Ich habe einen Teil meiner riesen Plattensammlung auf
CD’s gebrannt.
Interpreten und Titel habe ich in TXT Dateien abgelegt
wie A.txt B.txt usw.
Interpreten sind in Großschrift eingetragen.

Ein kleines Winprog ist für die Texteingabe da.
Danach wird das Suchwort einer Batch übergeben.
Alles wird dann in such.txt geschrieben, die sich
anschliessend automatisch öffnet.

Das hat auch immer gut funktioniert.
Bis ich jetzt bemerkt hatte, dass kein grosses Ä Ü
gefunden wird.

Das wäre ansich nicht tragisch.
Meine Kundenliste habe ich aber auch so angelegt.
Da muss ich aber alles finden können.
Es ist noch kein Name darunter der mit Ä oder Ü beginnt.
Aber wenn, dann hätte ich ein Problem…

Gibt es in Windows noch eine andere Funktion
zur Textsuche in Dateien?

Gruss
Klaus

Zeichensatz Windows DOS
Moin, Klaus,

du hattest ja geschrieben, dass es bei dir funktioniert.
Welches Betriebsystem?

DOS 6.22 :smile:)) Unter Windows 2000 tritt der gleiche Fehler auf wie bei Dir.

Wenn auch XP, dann verstehe ich das nicht.
Dann muss bei mir irgendwas falsch konfiguriert sein.
Aber was?

Mir begegnet das Symptom immer wieder mal andersrum: Der Befehl tree erzeugt eine Baumdarstellung mit Linien. Route ich die Ausgabe in eine Datei und schau sie mir unter Windows mit einem Editor wie notepad an, dann sehe ich statt der waagrechten Linien lauter Äs, die Senkrechten sind als ³ dargestellt, das kleine ä als Gänsefüßchen unten. Mit dem Editor aus dem Prompt sieht alles gut aus. Ursache unbekannt :frowning:

Gruß Ralf

z.B. OEM Fixed etc.
Hallo Ralf,

versuche z.B. OEM Fixed, damit sollte notepad die gleichen Zeichen darstellen wie die DOS-Box.

An Klaus, ein ‚Ü‘ hat einfach keinen festen ASCII-Code. Daher sucht find nach zeichen 154, im notepad.txt steht aber zeichen 220 (wenigstens bei mir, windows XP und notepad-schrift courier. Mit dem oben angegebenen Fond klappts auch im DOS-Fenster.

Gruß
achim

Hallo Klaus,

Da war DOS doch übersichtlicher.

ja. Denn Dos stammte nicht von Bill Gates. Er hat es einem Mitstudenten für 1500 Dollar abgekauft, minimal daran etwas verändert und ging damit zu IBM und schloß die Mutter aller Verträge.

So kam er zu viel Geld. Dann klaute er von Apple die Fenstertechnik und begann daraus Windows zu entwickeln.

Gibt es in Windows noch eine andere Funktion
zur Textsuche in Dateien?

Wie wäre es mit VBS? Das hast du bei Windows dabei wenn du es nicht deaktiviert hast und es hat viel mehr Möglichkeiten als eine Batch.

Frag dazu im VB-Brett nach, da kann man dir sagen, ggfs. auch ich :smile: wie man das codiert. Und erläuter nochmal genauer was der VBS-Code tun soll.

Wenn du MS-Office hast gehts auch VBA mit Word oder Excel…

Eine oder mehrere Textdateien zu öffnen und nach irgendwas zu suchen ist einfach.

Gruß
Reinhard

Gruß
Reinhard