Команда для поиска файлов windows

Команда WHERE — поиск файлов по шаблону имени.

Команда WHERE используется для определения расположения файлов в каталогах операционных систем Windows 7 и старше, имена которых соответствуют задаваемому шаблону поиска, а также, при необходимости — размера, даты и времени их изменения. По умолчанию поиск выполняется в текущем каталоге и в каталогах, определяемых значением переменной среды PATH .

Формат командной строки:

WHERE [/R каталог] [/Q] [/F] [/T] шаблон.

Параметры командной строки:

/R — Рекурсивный поиск и отображение файлов, соответствующих указанному шаблону, начиная с указанного каталога.

/Q — Возврат только кода выхода без отображения списка найденных файлов (тихий режим)

/F — Отображение имен найденных файлов в кавычках.

/T — Отображение размера, даты и времени изменения для всех найденных файлов.

шаблон — Шаблон поиска для искомых файлов. В шаблоне можно использовать подстановочные знаки * и ?. Также можно задавать конструкции «$пер:шаблон» и «путь:шаблон», где «пер» представляет переменную среды, и поиск осуществляется по путям, указанным в переменной среды «пер». Эти конструкции не следует использовать с параметром /R. При поиске к шаблону также добавляются расширения из переменной PATHEXT. Пример: WHERE «c:\windows;c:\windows\system32:*.dll»

/? — Вывод справки по использованию.

WHERE.EXE возвращает код ошибки 0, если поиск был успешным, 1 — если безуспешным, и 2, если возникли ошибки.

Примеры использования команды WHERE.

WHERE /? — выдать краткую справку по использованию команды.

WHERE myfile.doc — найти расположение файла myfile.doc . Поиск выполняется в текущем каталоге и каталогах, имена которых задаются значением переменной PATH

WHERE /T myfile.doc — то же, что и в предыдущем случае, но в результатах поиска отображается размер, дата и время изменения файла.

WHERE /R C:\ myfile.doc — найти расположение файла myfile.doc . Поиск выполняется рекурсивно, начиная с корневого каталога диска C: ( поиск по всему диску C: )

WHERE /R %windir%\system32 *.log — поиск файлов с расширением log начиная с подкаталога system32 системного каталога Windows.

WHERE /R %windir%\system32 *.log > loglist.txt — поиск файлов с расширением log начиная с подкаталога system32 системного каталога Windows с записью результатов в текстовый файл loglist.txt текущего каталога.

WHERE /R C:\ . dir.* — поиск с использованием шаблона, где первые 3 символа имени файла могут быть любыми ( . , следующие 3 символа принимают значение dir и с любым расширением.

where /R C:\windows\system32 *7*.exe — поиск исполняемых файлов, в имени которых содержится символ «7» , начиная с каталога C:\windows\system32

WHERE /R c:\windows *.vbs *.cmd *.bat — поиск файлов сценариев ( скриптов ) — файлов с расширением vbs , cmd и bat начиная с каталога C:\windows

WHERE /Q file1.ext — не отображать результат поиска. При выполнении этой команды будет установлено значение переменной ERRORLEVEL в зависимости от результата поиска:

ERRORLEVEL=0 — файл file1.ext найден.

ERRORLEVEL=1 — файл file1.ext не найден.

ERRORLEVEL=2 — при поиске файла file1.ext возникла ошибка.

Обычно команда WHERE /Q используется в командных файлах, когда в зависимости от результата поиска заданного файла нужно выполнить ту или иную подпрограмму.

Если вы желаете поделиться ссылкой на эту страницу в своей социальной сети, пользуйтесь кнопкой «Поделиться»

Читайте также:  Bios не видит windows boot manager

Поиск текста в файлах через командную строку Windows

Недавно мы рассматривали поиск файлов через командную строку Windows. Сегодня поговорим о том, как найти внутри файлов нужный нам текст. Сделать это можно при помощи команды FIND.

Команда find сообщает имена файлов, в которых был найден искомый файл, и выводит строки, в которых он содержится.

Синтаксис команды find :

FIND [/V] [/C] [/N] [/I] [/OFF[LINE]] «искомый_текст» [путь_к_файлу]

V — вывод всех строк, НЕ содержащих искомый текст;

C — вывод только общего числа строк, содержащих искомый текст;

N — вывод номеров строк;

I — поиск без учёта регистра символов;

OFF[LINE] — не пропускать файлы с атрибутом «автономный».

Для примера проверим все текстовые файлы в каталоге C:\test\ на наличие слова «текст».

Если посмотреть на скриншот ниже, то можно подумать, что ни один из файлов не содержит слова «текст». Конечно, это вполне допустимый вариант. Но есть и другое объяснение.

Дело в том, что по умолчанию текст в командной строке Windows отображается согласно кодовой странице CP866, а в файлах он в кодовой странице CP1251. Поэтому нам достаточно сменить кодовую страницу в текущем окне командной строки. О том, как это сделать, можно прочитать в статье по этой ссылке.

Теперь мы видим, что слово «текст» встречается во всех трёх файлах.

Теперь посмотрим на строки, в которых нет слова «текст»:

Такие оказались только в файле FILE_1.TXT.

Помните, что команда find по умолчанию учитывает регистр. Поэтому, написав в ней «Текст», мы не найдём подобного слова в файлах. Но регистр можно и проигнорировать:

На скриншоте ниже хорошо видно, что сперва команда не нашла слова «Текст» в файлах, так как в них оно записано без заглавных букв. Добавив /i , мы это исправили.

Допустим, нам нужно знать порядковые номера строк, в которых отсутствует слово «текст»:

Если мы захотим знать число строк, в которых присутствует искомое слово, тогда выполним команду:

А если нам нужно знать число строк, где это слово отсутствует, тогда пример команды такой:

Хотя до этого в примерах мы искали отдельное слово, find спокойно ищет и выражения:

Особенностью команды find является то, что искомый текст обязательно нужно заключать в кавычки. Это приводит к трудностям, если в пути к файлам (и в именах файлов) содержится пробел. В таком случае нужно воспользоваться перенаправлением ввода, но только если мы ищем в конкретном файле.

Как видите, наличие пробела в имени каталога C:\test test\ не помешало осуществить поиск. Но это что касается поиска в файле file_1.txt. А вот попытка поискать сразу во всех файлах привела к ошибке.

В таком случае можно воспользоваться циклическое обработкой, к примеру, командой for :

Помните, что в этом случае в командной строке нужно использовать конструкции вида %a, а в файлах .bat и .cmd вида %%a.

До этого в примерах мы всегда указывали в каких файлах искать. Если этого не сделать, то команда find выполняет поиск в тексте консоли или в тексте, который был передан по конвейеру другой командой.

Для следующего примера вернём кодовую страницу CP866. После этого отсортируем вывод команды ipconfig /all — оставим только те строки, где содержится слово «Состояние»:

Здесь мы лишь пробежались по вершинам, но возможности команды find гораздо больше. Особенно, если использовать её в комплексе с другими командами.

Читайте также:  Компьютер перезагружается после логотипа windows

Утилита dir — поиск файлов в командной строке

В продолжение предыдущей статьи, мы рассмотрим поиск файлов через командную строку с помощью утилиты Dir. Утилита dir как правило используется для вывода списка файлов и каталогов в заданной папке, но так как с помощью параметров можно указать фильтр для выводимой информации, то утилита командной строки подходит и для поиска файлов или каталогов. Но, прежде, немного лирики…

Как то я наблюдал такую ситуацию: женщина заходила в социальную сеть Однокласники, потом вставляла в CR-ROM диск, на котором были ее фотки с любимым котом Мурзиком. Естественно, автоматически выскакивало диалоговое окно, в котором была вкладка, вроде, точно не помню, “Копировать изображения”, женщина благополучно на нее нажимала и ждала, что все фотографии автоматически появятся на ее станице в Однокласниках. Это меня конечно улыбнуло, стоит заметить настойчивость данной дамы, так как она повторяла процесс по несколько раз и в итоге неудач, пожаловалась на качество интернет услуг. В добавок, она умудрилась установить в системе сразу две антивирусные программы (NOD и Касперский), в итоге, Windows висел не по детски.

Командная строка dir

Утилиту dir можно использовать на ровне с утилитами find и findstr. В данной статье будет рассмотрен скрипт поиска файла в командной строке Windows. Прежде чем приступать к написанию примера, давайте рассмотрим, с какими ключами работает утилита DІR:

DIR [диск: ] [путь] [имя_файла] [/А[ [ : ]атрибуты] ] [/B] [/C] [/D] [/L] [/N] [/ 0[[:] порядок]] [/P] [/Q] [/S] [/Т[[:]дата]] [/W] [/X] [/4]

[диск: ] [путь] – тут нужно указать имя диска и каталога, содержимое которых надо показать

[имя_файла] – говорит о том, что надо включить в список имена, которые надо показать, как вы уже догадались, тут можно использовать и подстановочные знаки: * или ?. Для примера, на диске D я создал папку TEST, в которую поместил несколько документов различного типа:

  • generate.mf
  • infosys.mf
  • sysinfo.mf
  • xa_032.рdf
  • xa_033.рdf
  • xa_034.рdf
  • xa_035.рdf
  • xa_036.рdf
  • xa_037.pdf
  • send_mail_data.vbs.txt
  • send_mail_text.vbs.txt
  • subdomen_scan.wsf.txt

Стоит помнить, что для параметра [имя_файла] нельзя задать через запятую собственную цепочку. Теперь для разминки, осуществим поиск файла через командную строку с расширением pdf. Для этого пропишем:

Dir d:\test*.pdf

После выполнения заданной команды, мы увидим только те документы, которые имеют расширение pdf.

Хорошо, продолжим рассмотрение ключей:

[/А[ [ : ]атрибуты] ] – использование данного ключа позволяет отфильтровать вывод списка по атрибутам, которые могут принимать следующие значения, их можно использовать совместно:

D – собственно, только папки

H – включает вывод только скрытых документов

S – включает вывод только системных документов

R – атрибут файла “только чтение”

A – атрибут файла “архивный”

— – данный префикс имеет значение НЕ

Если ключ отсутствует, то произойдет вывод всех файлов и папок, кроме тех, которые являются скрытыми и системными, если же данный параметр прописан без атрибутов, то произойдет вывод всех документов, включая скрытые и системные.

DIR C:\ /A:HS – вывод только тех, которые имеют атрибуты «скрытый» и «системный».

DIR С:\ /А:-Н – вывод всех, кроме скрытых.

DIR С:\ /A:D – выводим список всех каталогов

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

/S –просмотреть информацию не только из текущего каталога, но и из его подпапок

Ну, теперь для написания скрипта, который осуществит поиск файлов в командной строке, информации достаточно. Цель такова, написать батник (searchfiles.cmd) которому будут передаваться два аргумента: путь к диску или каталогу и шаблон, по которому будет происходить поиск файла через командную строку Windows. И так, смотрим на пример:

Читайте также:  Priority control regedit windows 10

@If «%1″==»» (Set pathf=D:\test) else (Set pathf=%1)

@If «%2″==»» (Set exmf=*.pdf) else (Set exmf=%2)

Dir %pathf%%exmf% /s

В первой строчке мы проверяем наличие первого аргумента, если он пуст, то, переменная pathf будет содержать путь по умолчанию D:\test. Во второй – происходит проверка на второй аргумент и аналогично, при его отсутствии, переменная exmf получает значение по умолчанию *.pdf. В последней строчке будет происходить поиск файлов в командной строке по заданному шаблону.

Не стоит забывать, что сервер сценариев Windows Script Host для работы с каталогами использует объект Folder, который значительно превосходит по возможностям утилиту командная строка dir.

Спасибо за внимание. Автор блога Владимир Баталий

Как найти файл в Windows с помощью cmd ?

Как быстро найти файл в Windows с помощью cmd ?

Приветствую вас, сейчас мы научимся, как найти файл или папку в Windows без помощи неважно работающего проводника системы, и будем использовать для этого либо команды в MS-DOS, либо с помощью его эмулятора – консоли команд cmd.

У такого способа есть лишь один недостаток, который связан лишь с беспричинной боязнью пользователей перед текстовым интерфейсом работы с системой и сложившейся привычкой к графическому. Однако, по сути в обоих случаях нам всё равно приходится вручную набирать условия поиска потерявшегося файла или пакета файлов, а здесь без «вседозволенности» консоли просто не обойтись. От команд давно почившей операционной системы MS-DOS не скроется ничего, и cmd способна без труда открыть путь ко всем документам и директориям, которые находятся в чреве Windows .

Что нужно, чтобы найти файл в Windows ?

Нам нужно имя файла и программу, которая его создала либо умеет читать.

Итак, если уверены, что файл просто «потерялся», вам нужно через консоль оказаться в корневой папке системы. Для этого введём пару символов:

Если вы точно знаете имя файла или документа, это не проблема даже для поисковика Windows. Но есть ведь задача и посложнее…

А теперь, представьте, что вам нужно найти файл или документ, имя которого вы и толком-то не помните. Допустим, в названии что-то было про «установку». То-ли «установкА», то-ли «установкИ», то-ли «установОК»… Не проблема – так Windows и спросите:

  • dir – команда отобразить список файлов и директорий
  • * – что-то там… (ну забыл я, мол)
  • . – расширение файла
  • /s – команда на поиск в текущей директории и подкаталогах.

Результаты через пару мгновений будут выглядеть примерно так:

На этот же манер можно найти файл , если вы знаете, какое расширение он имеет, т.е. какой программой открывается. Командой

можно будет найти документы Exel и Word. Присмотритесь к примерам разновидностей команд (вариаций здесь множество):

отобразит в одной выдаче документы с расширениями .doc и .txt

команда с этим атрибутом (в отличие от /s) поможет. если результатов будет множество, а вам удобнее просматривать их с небольшим интервалом.

выдаст список файлов и директорий в алфавитном порядке

отображает все папки и их содержимое, включая время создания, количество файлов в каждой, сколько места занимают.

Оцените статью