Як шукати файли всередині Windows 7?


253

У Windows XP ми можемо шукати файли, які містять визначене ключове слово (усе типи файлів).

Windows 7 може шукати всередині файлів ключове слово, але лише текстові файли. ( *.doc, *.txt, *.inf, ...), не ( *.conf, *.dat, *.*, ...).

Фільтри пошуку Microsoft не містять жодного фільтра, який я можу використовувати для цього.

Як це можливо?


2
Більшість відповідей нижче є марними і не стосуються поставленого питання. Проблема, яку ОР чітко пояснила, полягала в тому, що Windows Vista + не шукає вміст певних типів файлів (читати розширення файлів ). Як вони чітко сказали, деякі працюють, а інші - ні. Наприклад, він буде знайти .txtфайл , який містить слово, але не .cpp, .cfg, .phpабо навіть .iniфайли , навіть якщо вони все звичайні текстові (і .iniфайли навіть стандарт для Windows!) Ця проблема все ще існує , і найпростіше рішення , як видається, це відповідь .
Synetech

1
MS Visual Studio має чудову функцію «знайти у файлах». Немає налаштувань - просто вкажіть критерії більш-менш миттєвих результатів. Чому цього немає в Провіднику Windows, оскільки опція "Додатково" - не за межами мене.
оматай

Відповіді:


131

Щоб перейти до параметрів індексації :

Пуск -> Панель управління -> Параметри індексації

Для отримання додаткової інформації див. Зміну розширених параметрів індексації .

Якщо натиснути кнопку Додатково в параметрах індексації та перейти на вкладку Типи файлів , ви отримаєте список типів файлів та спосіб їх індексації. Для потрібних типів файлів ви можете вказати, що потрібно вміст файлу індексувати, а не лише властивості файлу.

Або ви можете просто здійснити звичайний пошук, і після закінчення пошуку ви можете натиснути кнопку "Зміст файлу" під полем "Знову шукати знову" (яке знаходиться після закінчення списку результатів пошуку, якщо ви перейдете до знизу).

На основі цієї сторінки параметр "Зміст файлу" не завжди відображатиметься - лише коли папка, яку шукають, не позначена для індексації вмісту файлу; у цьому випадку вміст файлів нібито шукається автоматично, без необхідності чітко вказувати цю опцію.


19
Або, можливо, скориставшись командою FIND.

4
@Synetech вкл. - Ви можете передавати результати іншої команди find, тому немає ніяких причин, щоб Ви не могли запустити її на всьому жорсткому диску (можливо, використовуючи attribпошук)
warren

8
@Synetechinc. Можна сказати:find "word" *
Оскар Медерос

5
@nikhil: На жаль, ви не згадуєте, як дістатись до параметрів індексації, а також сторінки, на яку ви посилаєтесь.
Стів

8
-1, оскільки він не здійснює пошук у неіндексованих місцях, навіть коли вибрано параметр. @ Відповідь Шиммі Шона нижче.
ГайднВВН

113

Я завжди отримував кращі показники під час пошуку всередині файлів за допомогою інструменту GREP. Я фанат AstroGrep .


12
AstroGrep - худорлявий. 80 к., Блискавично та шукає локальні мережі. Дякуємо за підказку на цьому інструменті.
Шон O

1
Ого!! це добре!
Роднико

4
Також вилка тут для агента Ransack. Shell інтегрований, невеликий і швидкий, також підтримує регулярний вираз.
інгредієнт_15939

1
Дивовижний інструмент! Дякую! Пошук Windows у файлах - це ..., добре, ви знаєте. Цей інструмент дуже швидко працює на моєму приводі SAS і працює бездоганно. Знайдено понад 200 файлів, у яких віконний пошук у вмісті знайшов лише 12, і не відображав те, що я шукав, але я знав, що шукаю, і я був певний для каталогу. Чи варто сказати більше? Знову дякую!
Гтодоров

1
+1 для AstroGREP і +1 для AgentRansack ... +1 також для інструменту командного рядка
greg

84

Я вважаю, що ви також можете просто ввести "content: blahblah" у вікні фільтра пошуку у верхньому правому куті Windows Explorer. Це працює принаймні для текстових файлів та документів Office. Він також працює для вихідних файлів.



17
Я виявив, що він також локалізований, наприклад, німецькою мовоюinhalt:
mjustin

3
'content: $$$', де $$$ - це вміст, який я шукаю для мене роботи в Windows 7
HaydnWVN

4
Не працює в Windows 7 32 біт. Я скопіював і вставив з файлу в шуканому каталозі, і він сказав, що рядок не знайдено.
weberc2

3
Здається, працює для html, js, css, xml, sql, але, на жаль, не php.
kcdwayne

56

Ви можете грати з findstr .

findstr /s /m searchstring *.*

Опис варіантів:

/S         Searches for matching files in the current directory and all subdirectories.
/M         Prints only the filename if a file contains a match.

@Synetech Чому б і ні? Це дуже просто у використанні, наприклад findstr "todo" *.txt.
mafu

/ i для нечутливості випадку також може бути дуже цінним. FINDSTR є єдиним, ТОЛЬКО стороннім способом, який я знайшов для пошуку частинних рядків. Якщо ви шукаєте goog, він відповідатиме google.com або 123779goog44682 або 123google.com55, і наскільки мені відомо, немає жодної можливості, щоб папка Windows / Explorer "поле пошуку" або Control-F могли виконати це дуже, дуже просте, логічне завдання. Виступаючи після десятиліть високого класу C та Assembler, що займається розробкою комп'ютера, смійтеся або знущайтеся над усім, що вам хочеться, але я запевняю вас: імбецильні дизайнери Microsoft не розуміють комп'ютерів.
MicrosoftShouldBeKickedInNuts


14

Агент Рансак завжди варто подивитися. Це безкоштовно, швидко, хороша репутація і не використовує індексацію.


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

9

У Провіднику Windows меню Інструменти -> Параметри папки:

Натисніть на вкладку пошуку і ось перший варіант: що шукати , вибирайте пошук неіндексованих файлів всередині файлу.


Здавалося, цей варіант ігнорується, оскільки мій тип файлу був налаштований у параметрах індексу, щоб не розглядатись як текстовий файл. .propertiesФайл не отримує пошук тексту за замовчуванням.
Річард Ле Месюр'є

1
Це була єдина відповідь на цій сторінці, яка працювала на мене. Я також повинен був перевірити параметр "Не використовувати індекс під час пошуку ...".
Фурманатор

Не використовується індексатор, тому це не виправить проблему.
Synetech

8

У Windows 7 все ще є можливість пошуку рядків у файлах скрізь (а не в індексованих місцях).

У Windows Explorer перейдіть до меню Інструменти / Параметри папок та виберіть "Завжди шукати назви файлів та їх вміст".

Можливо, типи файлів все-таки повинні бути правильно налаштовані в Додаткові параметри параметрів індексації ".


2
+1 для параметрів індексації. Вони ДУЖЕ ВАЖЛИВІ, оскільки вони визначають, що означає Windows під "пошуком" файлу. Наприклад, у мене є .propertiesфайл сценарію збірки ANT, який Windows не шукає, оскільки він не був налаштований так, щоб розглянути його як текстовий файл.
Річард Ле Месюр'є

Як не дивно, що параметри індексації впливають на неіндексований пошук.
jiggunjer

1
Так, проблеми є типами, тому ця відповідь була б кращою, якби вона не закінчилася безпосередньо перед згадкою про виправлення.
Synetech

У Windows 10 ця опція знаходиться в меню ВидОпціїЗмінити папку та параметри пошуку → вкладка Пошук .
Пітер Мортенсен

6

Відповідь Шона Секстона дав мені те, що я шукав (помістивши "content:" у текстове поле пошуку). Але я думаю, що наступне графічне пояснення може допомогти іншим.

Еквівалент цього пошуку в XP Search Companion (собака):

Супутник пошуку XP

це в Windows 7:

Пошук у Windows 7


2
Не працювало для мене (з * .srt (файли підрозділів у простому тексті)).
Аарон Тома

"content:" ігнорується ... просто зробіть тестовий пошук того самого рядка з "і content": і перевірте це ...
ZEE

1
@JeffRoe, я не можу змусити Windows шукати .sqlфайли всередині . Ви справді отримали очікувані результати? Не можу не помітити, що ви обрізали скріншот трохи вище результатів пошуку ...
Synetech

@Synetech: Так, я безумовно отримав очікувані результати. Вибачте, я не впевнений, що б у вашій системі було б різним, що не дозволило б їй працювати.
Джефф Роу

3

Ви намагалися шукати в Інтернеті правильний iFilter (наприклад, http://www.ifilter.org/ )?

Якщо у вас є право iFilter, Windows повинна мати можливість пошуку та індексації його вмісту.


1
мені потрібен "iFilter" для кожного розширення файлу?

Швидше за все так - оскільки кожне розширення файлу передбачає, що вміст файлу буде специфічним для конкретного розширення.
rifferte

Також перегляньте ці два посилання - у них є багато вмісту, який може вам допомогти: microsoft.com/windows/products/winfamily/desktopsearch/… gallery.live.com/default.aspx?pl=6
rifferte

А що, якщо я не використовую індексатор, то що?
Synetech

3

У Windows XP ви можете додати інші (текстові) типи файлів для пошуку через реєстр:

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\.dita\PersistentHandler]
@="{5e941d80-bf96-11cd-b579-08002b30bfeb}"

Я не впевнений, чи працює це і з Windows 7.


1
Це, здається, робиться хитрість в Windows 7. На жаль, ви повинні створити асоціацію файлів для кожного проклятого розширення файлу, який ви хочете шукати всередині, але це, принаймні, працює і не потребує зміни реєстру рівня адміністратора.
Synetech

2
Я не розумію цієї відповіді, чи є розміщений приклад додавання файлу .dita у пошук Windows?
Зубний Герман

1
Так, це для розширення .dita.
BennyInc

2

Ви можете спробувати використовувати Cygwin або grep версію для Windows та здійснити пошук * nix команд та здійснити пошук за допомогою утиліти grep .

З посібника :

grep options pattern input_file_names

За допомогою пакета Google gnuwin32 є версія grep для Windows.


1

Windows 7 SP1 ігнорує вміст: та вміст: для мене зараз, і схоже, що механізм змінився: тепер ви вводите те, що хочете, і як тільки починається пошук, рядок внизу відображається з "Шукати знову в : "Бібліотеки, Комп'ютер, Користувальницькі, Firefox, і найголовніше, Зміст файлу . Клацніть на цьому, і він відновить пошук у файлах, навіть якщо папка невпакована.


3
на моїй машині File Contentsне подано як опцію
Річард Ле Месюр'є

Ви використовуєте Win8? Там він змінюється, де потрібно натиснути на вкладку пошуку, відкрити розширені параметри, а потім - Зміст файлу.
SilverbackNet

1
Win 7 Home Premium 64bit SP1 ... дивно його немає; коментував, щоб попередити інших розгублених читачів (адже ця проблема насправді мене дуже збентежила і мало не призвела до ВЕЛИЧОЇ помилки при надходженні паролів клієнтові у файл, який не відсканувався як текст)
Річард Ле Месюр'є

1
Як чітко пояснено в ОП, для деяких типів файлів це НЕ працює.◔_◔
Synetech
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.