1

Из командной строки скрипт:

C:\>dir *.* /s > a.txt

отобразит список всех файлов в файле TXT (a.txt), который затем можно открыть в Блокноте или другом текстовом редакторе. Затем вы можете искать в списке файлы, измененные в течение определенного периода времени (например, сегодня). Например, этот вопрос написан 06 августа 2015 года, поэтому я могу искать «06/08/2015». Вы даже можете улучшить это, посмотрев «10/06/2015 10» для файлов, созданных сегодня после 10:00.

Это прекрасно работает, но сгенерированный файл может быть очень большим (и на его создание требуется некоторое время). Можно ли сделать лучше (желательно, но не ограничиваясь этим, из командной строки).

2 ответа2

2

Как насчет PowerShell?

 get-childitem -recurse | where-object { $_.lastwritetime -gt (get-date).addHours(-100)}

Я думаю, что это будет хорошо работать для вас.

Пример вывода:

 12:20 x D:\Users\x > get-childitem -recurse |where-object {$_.lastwritetime -gt (get-date).addHours(-100)}


    Directory: D:\Users\x


Mode                LastWriteTime     Length Name
----                -------------     ------ ----
d-r--        2015-08-06     10:43            Desktop


    Directory: D:\Users\x\Desktop


Mode                LastWriteTime     Length Name
----                -------------     ------ ----
-a---        2015-08-05     16:38     636963 20119998885_921a43c7b4_k.jpg
-a---        2015-08-03     15:45     206011 cpu.csv


    Directory: D:\Users\x\Important\Passwd


Mode                LastWriteTime     Length Name
----                -------------     ------ ----
-a---        2015-08-05     10:49         62 main.plk

Get-ChildItem, как старый dir но выход больше как объекты не нравятся текстовые потоки. У каждого элемента есть свойства - например, lastwritetime, которое точно так же, как время модификации. Вы можете выполнять арифметику с этими параметрами с помощью таких функций, как addDays или addHours, чтобы получить желаемый фильтр на основе даты.

Конечно, вы можете использовать -eq вместо -gt и указать точную дату для соответствия. Я думаю, что вы даже можете использовать оператор -match и указать маску с подстановочными знаками, чтобы соответствовать желаемой дате. Попытайся. Это лучше, чем чистый cmd.

1

Я рекомендую File Locator Lite. Он имеет вкладку даты. Это легкий и простой в использовании.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .