Як шукати на всьому жорсткому диску файли, змінені на певну дату? [дублікат]


9

Я підхопив вірус кілька годин тому і виявив один із його файлів. Я знаю точну хвилину встановлення вірусу, і хотів би шукати весь мій жорсткий диск на файли, змінені в ту хвилину. Чи є утиліта, яка може це зробити? Пошук у Windows здійснює пошук лише в документах.

Я використовую Windows 8.


2
Ви можете використовувати антивірус ...
BenjiWiebe

Я використовую Windows Defender (Essentials безпеки в Windows 8) + Malwarebytes. MalwareBytes ідентифікував лише один файл, і жоден не має можливості пошуку.
msbg

Можливо, це все, що заражено. Це є можливим , що вірус був один файл , який не зробив нічого ще. Можливо, чекав команд від хакера. ;)
BenjiWiebe

1
Щоправда, але я вважаю за краще бути певним. Цілком може бути ще один файл, готовий перевстановити вірус через кілька тижнів.
msbg

1
Така програма, як описана я, також може стати в нагоді за інших обставин
msbg

Відповіді:


9

Відкрийте Провідник файлів з робочого столу. Перейдіть до кореня вашого жорсткого диска (C: \ певно). Натисніть / Клацніть у полі пошуку та введіть наступне: System.DateModified:YYYY-MM-DDThh:mm:ssтам, де дата та час є тими, про які ви знаєте, що з'явився вірус та описані в ISO-8601, показаному тут: http://www.w3.org/TR/NOTE- дата .

Пошукові терміни Windows називаються "Синтаксис розширеного запиту" і містять ряд корисних термінів, більшість з яких не піддаються кінцевим користувачам через користувальницький інтерфейс пошуку Windows. Це один приклад, пояснений у цьому документі MSDN: http://msdn.microsoft.com/en-us/library/bb266512%28VS.85%29.aspx у розділі "Властивості DateTime у Windows 8".

Зверніть увагу, що вам, можливо, доведеться розширити індекс для пошуку всього диска, а також, що індекс не буде шукати певні місця ( C:\Windows\CSC\для одного прикладу).


Добре, але я не бачу жодного варіанту пошуку за хвилиною / годиною.
msbg

Переглянуто, щоб пояснити, як шукати до цього рівня.
KAMonica

Чудова відповідь. (Я збирався запропонувати PowerShell, але це простіше).
Гай Томас

@KA Ви можете мені сказати, чому жодне з цих не працює? System.DateModified:>2016-01-04T05:00і System.DateModified:<2016-01-04T05:00. Це повинно бути January 4, 2016 at 5 AM. Я додав, >тому що я думаю, як ви після вказаної дати та часу.
кокеду

2

Існує купа способів зробити це. Ви можете спробувати таку програму

http://www.mythicsoft.com/page.aspx?type=filelocatorlite&page=home

Я не використовую 8 або навіть 7. Але я б використовував CMD. Є кілька способів це зробити, але найпростішим способом було б зробити DIR весь диск з підпапками, відфільтрованими за створений час, а потім шукати рядок, що відповідає формату дати та часу. Щоб вставити у вікно CMD, клацніть правою кнопкою миші та оберіть пункт Вставити. (знову ніколи не використовувався win8)

Це не так вже й складний код нижче, щоб шукати C: диск для файлу, створеного "19.01.2013 18:38". Виведенням буде C: \ FoundFiles.TXT.

@dir c:\*.* /s /t:c | findstr "01/19/2013  06:38 PM">c:\FoundFiles.TXT 

Код нижче буде шукати приховані файли та виводити на c: \ FoundHiddenFiles.TXT

@dir c:\*.* /s /a:h /t:c | findstr "01/19/2013  06:38 PM">c:\FoundHiddenFiles.TXT

використання / t: a для файлів, "останній доступ" та / t: w для останніх записаних файлів

Щоб відкрити CMD у Windows 8, просто шукайте програми для CMD. Можливо, вам доведеться відрегулювати рядок відповідно до вашого виходу DIR, поставленого у вікні 8. Також я не маю уявлення, чи Windows 8 надає вам доступ до C :. Кожен пошук повинен зайняти лише хвилину, він дасть вам лише імена файлів, а не їх місце розташування, і кожен раз, коли ви його запустите, він видалить старий результат пошуку. " . " має бути необов'язковим, а лише на всякий випадок.

сподівання, що хтось допомагає.

ОДНО останнє. Ви можете просто керувати цілим диском, виводити його у текстовий файл, а потім шукати за допомогою слова чи блокнота або що-небудь, що вони вам дають з Windows 8. Коди нижче виводять весь вміст ваших жорстких дисків, відсортованих під час створення файлів.

dir c:\*.* /s /o:d /t:c >C:\AllFiles.TXT

І якщо ви хочете шукати всі використані приховані файли

dir c:\*.* /s /o:d /t:c /a:h >C:\AllHiddenFiles.TXT

1

Я прийшов сюди на пошуки з тією ж проблемою.

у Windows 8.1 дата у форматі ISO 8601 (РРРР-ММ-DDThh: мм: сс) не працювала для мене, якщо я додати Thh: mm: ss до дати. Дата без часу була нормальна. '2014- 1- 15'

Але це спрацювало з часом: 15–14 січня 16:24 Можливо, вам доведеться скористатися регіональним форматом, наприклад, 15.01.14 16:24 або універсальним: 2014–1– 15 16:24

Замість того, щоб шукати час модифікації, я б запропонував вам шукати файли, СТВОРЕНІ на цю дату та час. Як файли створили / змінили / отримали доступ до дат: System.DateCreated:15-‎Jan-‎14 16:24

Він також працює без "Системи". для мене:DateCreated:‎15-‎Jan-‎14 16:24

Також у нашому випадку корисно розширити пошук, наприклад, на 10 хвилин:

DateCreated:‎15-‎Jan-‎14 16:24..15-Jan-14 16:34

або з датою в незалежному від мови форматі:

DateCreated:‎2014-‎1-‎15 16:24..2014-‎1-‎15 16:34

Ви вводите цей рядок у вікно Провідника файлів у кореневому каталозі на своєму головному диску (c :) у вікно пошуку цього ПК у правому текстовому полі адреси.

Крім того, вам потрібно включити системні файли до пошуку, тому що я думаю, що папка AppData знаходиться поза індексованим простором і не буде шукана в іншому випадку. І саме там віруси люблять проживати. Для цього натисніть кнопку Пошук у меню, а потім Розширені параметри та системні файли ВКЛ

На панелі результатів ви побачите дати МОДИФІКАЦІЇ, деякі поза вказаним діапазоном. Якщо ви подивитеся на властивості кожного файлу, ви побачите, що дата створення вказана у визначеному діапазоні. Вони були змінені після їх створення

(Я зробив фотографію, але не можу розмістити її)


1

Існує команда DOS під назвою forfiles, яку ви могли використовувати

forfiles /P C:\ /S /D -1 /M *.*

ви можете використовувати також більш просунутий синтаксис, як-от виклик програми (або виклик команди DOS за допомогою cmd / c ...)

forfiles /P C:\ /S /D -1 /M *.* /C "cmd /c echo @fname @fdate"

див. forfiles /? для синтаксису та таких параметрів, як @fname, @fdate тощо

щоб відкрити командний рядок, перейдіть до меню "Пуск" / Пошук ... і введіть CMD і натисніть клавішу ENTER, щоб відкрити вікно DOS

(PS Я не можу зробити так, щоб він працював у моїй системі - здається, що він повертає всі файли, не тільки ті, що були змінені за день раніше, як я вказую з / D -1 - ймовірно, тому, що в ньому є помилка з грецькими датами DD / MM / РРРР, а не ММ / ДД / РРРР)

КОРЕКЦІЯ: начебто є непорозуміння (як я, так і інші, судячи з пошуку в Інтернеті) щодо того, що робить / D -dd, здається, він не шукає файли, що мають ДД днів, але вони старші, ніж дні DD

тому вам потрібно використовувати синтаксис FORFILES / D + dd / MM / yyyy і ввести там вчорашню дату, щоб знайти всі файли з датою більшою, ніж вчора. Щоб автоматизувати це, ви можете використовувати% date% та проаналізувати його з% date: ~ 7,2% /% date: ~ 4,2% /% date: ~ -4% або щось подібне (можливо, знадобиться переупорядкувати частини дати там, залежно від вашої мови)


Зауважте, що в пакетних файлах ви повинні використовувати %%, а не один%
Джордж Бірбіліс

btw, щоб знайти файли, змінені сьогодні, можна використовувати / D +0, як здається, і знаходити файли, старші, ніж сьогодні, можна використовувати / D -0
George Birbilis
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.