2016-06-30 20 views
0

Ich versuche, mit WMI einen Einzeiler zu erstellen, um rekursiv nach Dateien zu suchen, die nach einer bestimmten Zeit geändert wurden. Bisher fand ich eine Linie, die für ein einzelnes Verzeichnis arbeiten, aber ich war nicht in der Lage, einen Weg, um herauszufinden, rekursiv auf jedem Verzeichnis laufen, in c Start: \Verwenden von WMI, um ein Laufwerk nach Dateien zu suchen, die nach einer bestimmten Zeit geändert wurden

wmic datafile where "drive='c:' and path ='\\' and lastmodified>'20140502233423.000000-240' and lastmodified<'20161223233445.000000-240'" get lastmodified, name 

Dies gibt geänderte Dateien vor und nach denen Daten innerhalb der Basis des c: Laufwerk

Vielen Dank im Voraus.

Antwort

0

Sie würden den Operator LIKE verwenden und einen Platzhalter angeben. ZB:

wmic datafile where "drive='c:' and path like '%\\%' and lastmodified>'20140502233423.000000-240' and lastmodified<'20161223233445.000000-240'" get lastmodified, name 

GEWARNT WERDEN! Dies ist scheußlich langsam. Eine wesentlich bessere Befehlszeilenoperation zum Auffinden von Dateien, die sich nach einem bestimmten Datum geändert haben, ist FORFILES. ZB:

FORFILES /P "C:\" /M *.* /S /C "cmd /c echo @file @fdate @ftime" /D 06/01/2016 
+0

Ich mag die Idee der Verwendung von forfiles, leider wird es nicht auf die Zeit selbst zu bohren. Ein Termin kann aber helfen. Danke für Ihre Hilfe. – Brent

+0

Ich hatte gehofft, ich könnte eine for-Schleife verwenden, um den ursprünglichen Befehl rekursiv in einem Laufwerk auszuführen. – Brent

+0

Ich kann das im Moment nicht überprüfen, aber haben Sie versucht 'für/D% f in (*) tun wmic Datendatei wo" Pfad = '% f' und lastmodified> '20140502233423.000000-240' und lastmodified <'20161223233445.000000- 240 '' Zuletzt geändert, Name'? Wenn es eine Batchdatei ist, verwenden Sie stattdessen '%% f', und [' Command Extensions'] (http://ss64.com/nt/setlocal.html) sollte standardmäßig aktiviert sein, aber es lohnt sich zu überprüfen. (Nicht sicher, dass Sie das Laufwerk angeben müssen) – Tim