Ich suche nach einem Text in mehrreren Dateien,mit dem Befehl find. Und nun will ich wissen,was ich machen muß das der Name der Datei, in der der Suchtext ist auf dem Bildschirm angezeigt wird? Und noch ne Frage, wie kann ich einen Befehl in einer Batch-Datei auf Wunsch ausführen lassen?
Programmieren - alles kontrollieren 4.941 Themen, 20.715 Beiträge
@echo off
for %%f in (*.bat) do find "echo" /i %%f
(i ist für große und kleine Buchstaben)
Also es geht um eine Batch-Datei, die in Dateien nach einer Zeichenkette sucht und hat einige Forgaben:
-es können mehrere Zeichenketten angegeben werden
-Groß- u. Kleinschreibung werden ignoriert (/l)
-der Name der Datei, die die Zeichenkette enthält, erscheint auf dem Bildschirm
-auf Wunsch werden die Zeilen mit der Zeichenkette gezählt (/c)
-gleichfalls auf wunsch werden die Ergebnisse in einer Protokolldatei festgehalten
-und es wird alles mit reichlich kommentaren versehen, damit es für jeden verständlich ist.
Ich habe zu diesem Thema nicht viel in meinen Heften gefunden und komme deshalb nicht vorran.
Ich dachte ich gehe wie folgt ran und fange erst mal mit den kommentaren an.
@echo off
rem ***Batch-Datei zur suche von Zeichenketten in Dateien
echo.
rem ***Der Befehl find sucht nach Zeichenketten in mehreren Dateien.
rem ***Der Befehl benötigt 2 Parameter, den Suchtext in "Klammern"
rem ***und die angabe der Dateien, in der er suchen soll. Diese müßen rem ***durch ein Leerzeichen getrennt sein und dürfen keine Joker
rem ***verwenden. Durch die Option /l am Ende des Befehls, wird die
rem ***Groß- u. Kleinschreibung ignoriert.
echo.
find "%"(Suchtext dafür verwende ich den ersten Platzhalter) %2 %3 (weitere Platzhalter für die Dateien) /l um die Groß- u. Kleischreibung zu ignorieren,ist das soweit richtig?
find "%1" %2 %3 %4 /l