Jak wyszukiwać pliki zmodyfikowane po określonym czasie?

20

System operacyjny: Windows 7 64-bit

Oto hipotetyczny problem: istnieje folder z wieloma podfolderami (które same mogą mieć podfoldery i tak dalej). Program tworzy / modyfikuje pliki w dowolnym z tych folderów, które mówią jednocześnie t=YYYYMMDDHHMM. Czy istnieje proste polecenie wyszukiwania wszystkich plików utworzonych / zmodyfikowanych po pewnym czasie t?

Shashank Sawant
źródło

Odpowiedzi:

29

Zobacz, jak działa zaawansowana składnia zapytań .

Spróbuj czegoś takiego jak modified:>YYYY-MM-DD hh:mm:sslubdatemodified:>YYYY-MM-DD hh:mm:ss

Zakresy działają w następujący sposób: datemodified:‎YYYY-MM-DD hh:mm:ss .. ‎YYYY-MM-DD hh:mm:ss

Istnieje również obsługa różnych innych właściwości, operatorów boolowskich itp.

(Należy pamiętać, że formaty daty i godziny mogą się różnić w zależności od ustawień regionalnych, ustawień systemowych itp.)

Karan
źródło
Doskonały! Właśnie tego szukałem.
Shashank Sawant
Szukałem czegoś, co identyfikuje tylko pliki zmodyfikowane w ciągu ostatniej godziny (bez względu na wpisanie), ale date:today type:file wydaje się, że jest to najlepsze, co może zaoferować.
Marcos,
@Marcos: Tak, ale jeśli określisz dokładny zakres czasu, to zadziała.
Karan
@Karan, czy możesz mi powiedzieć, dlaczego żadne z tych nie działa? System.DateModified:>2016-01-04T05:00a System.DateModified:<2016-01-04T05:00. Tak powinno być January 4, 2016 at 5 AM. Dodałem, >ponieważ zastanawiam się, jak po wymienionej dacie i godzinie.
Cokedude
@Karan Przejrzałem ten przewodnik i powiedział, że możesz zrobić: YYYY-MM-DDThh:mm:ss . msdn.microsoft.com/en-us/library/bb266512%28VS.85%29.aspx
cokedude
0

Sugerowana metoda nie działała dla mnie z jakiegoś powodu w Windows 8.1 SL, ale po 2 lub 3 godzinach próbowałem znaleźć coś, co zadziałało dla mnie. Pochodzę z Brazylii i „zmodyfikowany przez„ dane ”równa się„ datademodificação ”w moim języku, ale jeśli chcesz używać angielskiego, zawsze możesz użyć system.datemodified zamiast jego odpowiednika w swoim języku.

Działa to w systemie Windows 8.1 SL dla mnie:

system.datemodified:(>YYYY-MM-DD HH:MM .. <YYYY-MM-DD HH:MM)

Np .: Aby znaleźć pliki zmodyfikowane w dniu 28.02.2017 od 10:50 do 10:59 (zegar ustawiony jest na wyświetlanie 24 godziny):

system.datemodified:(>2017-02-28 10:00 .. <2017-02-28 10:59)

Jeśli zegar jest ustawiony na 12 godzin może trzeba użyć AM lub PM za czas

Oto kilka innych przykładów, które pracowały (W Brazylii używamy dd / mm / data w formacie rrrr):

Datademodificação:>28/02/2017 10:50 .. Datademodificação:<28/02/2017 10:59

Datademodificação:>28/02/2017 10:50 AND Datademodificação:<28/02/2017 10:59

system.datemodified:>28/02/2017 10:50 .. system.datemodified:<28/02/2017 10:59

system.datemodified:>2017-02-28 10:50 .. system.datemodified:<2017-02-28 10:59

Wygląda na to, że nie ma znaczenia, że ​​używasz daty, ponieważ oba RRRR-MM-DD lub DD / MM / RRRR działały dla mnie, to, co wyglądało na zrobienie dla mnie sztuczki, to używanie znaków> (większych niż) i <(mniejszych niż).

Jeśli chcesz, aby „data utworzenia” zamiast „Data modyfikacji” wystarczy użyć: datecreated zamiast datemodified.

Pozdrowienia, Ricardo Bohner

Ricardo Bohner
źródło