Ich versuche, eine Batch-Datei zu erstellen, um nach einer Zeichenfolge in Dateien zu suchen, die mit einem Dienst beginnen und aus den letzten 24 Stunden stammen.Suche nach einer Zeichenfolge nur in Dateien, die weniger als einen Tag alt sind
Ich bin in der Lage, es für die Suche nach der Zeichenfolge in allen Dateien beginnend mit dem Dienst im Ordner zu bekommen, aber ich kann nicht nur nach Dateien suchen, die mit Service aus den letzten 24 Stunden beginnen. Ich habe versucht forfiles
und zusammen zu finden, aber sie haben nicht funktioniert.
find "text to search for" ...\Logs\service* -mtime -1
if %errorlevel% equ 1 goto fail
goto pass
:pass
do stuff
goto end
:fail
do stuff
:end
PAUSE
Sieht aus wie Sie versuchen, Linux 'find'-Parameter auf die Verwendung Winodws, es wird nicht funktionieren. Wäre es einfacher, wenn Sie zu PowerShell wechseln könnten, ist das eine Option? – TessellatingHeckler
Ihr Beispielcode enthält keine 'forfiles', obwohl Sie es erwähnt haben ... Wie auch immer, ich denke, es ist die falsche Wahl, da die'/D'-Option mit einer positiven ('+') Zahl wie '/ D + 1' bedeutet aktuelles Datum plus eins, damit es nur mit Dateien übereinstimmt, die in der Zukunft geändert wurden (frag mich nicht, was die Entwickler bei der Programmierung dieses Tools gedacht haben); Daher ist es am besten, nicht reines Batch-Scripting zu verwenden, da die Datumsarithmetik dort sehr schmerzhaft ist. vielleicht * PowerShell *, * JavaScript * oder * VBScript * waren geeignete Alternativen (oder auch Chargenhybride) ... – aschipfl