2016-05-17 30 views
1

Ich habe in Windows 8.1 vor etwa einem Monat eine Datei erstellt. Ich suche es, aber ich finde es nicht (ich habe viele Dateien), so erinnere ich mich nur ein Wort ihres Inhalts "otro" (in Spanisch), aber ich bekomme eine Menge Dateien. Ich möchte Dateien nach Datum filtern (weil ich weiß, dass ich die Datei vor ungefähr einem Monat erstellt habe).Dateien nach Datum filtern (in CMD)

Um nach Dateiinhalt filtern Ich verwende:

findstr /s /i /n /c:"otro" *.txt 

Ich muss diesen Befehl andere Filter (nach Datum) hinzuzufügen. Ich denke, dass ich eine Rohrleitung plus einen Befehl hinzufügen muss, die nach Datum filtern.

Antwort

1

Es gibt eine Möglichkeit, Dateien nach Datum mit dir /od zu sortieren, aber das funktioniert nicht in Unterordnern. Aber verengen auf einen einzigen Monat, können Sie verwenden:

for /f "delims=" %i in ('dir /s /b /od /a-d *.txt') do @(find /i "otro" "%i" >nul &&echo %~ti %i|findstr /b "05....2016") 

(dies ist für den Einsatz auf der Kommandozeile Zur Verwendung in einer Batch-Datei doppelt alle %.).

Findet alle .txt Dateien im aktuellen Verzeichnis und alle Unterordner, die otro und wurden modifiziert, im Mai dieses Jahr enthält (jetzt in der Mitte Juni, das ist etwa „vor vier Wochen plus/minus 2 Wochen“) (eine Datum- unter der Annahme, Format mm/dd/yyyy oder mm-dd-yyyy oder mm.dd.yyyy; für dd.mm.yyyy Format verwenden Sie findstr /b "...05.2016"). Ich hoffe, es gibt nicht zu viele von ihnen ...

+0

Findet ERRORLEVEL korrekt? Dies hängt auch von der Gebietsschemaeinstellung für das Datumsformat ab. Es wird wahrscheinlich außerhalb von en/US anders sein. – lit

+0

@Liturgist Ich habe nie 'finde'-errorlevel gefunden, um mir falsche Ergebnisse zu geben. Haben Sie ein Gegenbeispiel ?. Und ja, dieses _is_ Gebietsschema ist abhängig (_ "unterstellt ein Datumsformat von ..." _) Es könnte generisch gemacht werden mit 'wmic datafile', aber das wäre zu dumm und zu viel Code für ein (wahrscheinlich) einmaliges Aufgabe. – Stephan

+0

Danke Stephan :). Ich habe meine Datei dank deines Codes gefunden, ich habe nur geändert, dass du "date-format" zu "... 05.2016" gesagt hast. Es ist wirklich interessant, dass es möglich ist, eine Schleife in der Befehlszeile zu verwenden (ich wusste es nicht), ich werde den Code studieren. Ich markiere deine Antwort als Lösung. – learnprogramming

Verwandte Themen