Команда findstr

Відео: як створити бат !!! вірус прикол !!!

команда FINDSTR використовується для пошуку текстової рядки в одному або декількох файлах з використанням регулярних виразів. У порівнянні з командою FIND дана команда дозволяє виконувати значно гнучкіший пошук відповідно до правил, що задаються в якості параметрів командного строкі.Регулярние вираження (regular expressions) - це своєрідна мова із застосуванням звичайних і спеціальних символів, які задають шаблон і алгоритм пошуку. Звичайні символи (літерали) - це звичні текстові знаки - літери, цифри, знаки пунктуації і т. П. Спеціальні символи (метасимволи) - це елементи записи правил і параметрів обробки для звичайних символів. Так, наприклад, символ точка . означає "Будь-який символ", квадратні дужки - набір з ув`язнених в них символів, послідовність d - будь-який цифровий символ, D - будь-який НЕ цифровий символ.

При необхідності обробки метасимволов як звичайних елементів тексту, в регулярних виразах використовується екранує символ - зворотна коса риска . запис [ означає звичайний символ розкривається квадратної дужки, а не метасимвол для початку набору. Для екранування декількох метасимволов використовується послідовність:

Q. . . набір метасимволов. . . E

Зворотна коса риска перед звичайним символом означає, що він інтерпретується як службовий символ:

s - відповідає символу пробілу.

При використанні в регулярних виразах, рядкові і заголовні символи розрізняються.

S - будь-який символ, НЕ пробіл.

Формат командного рядка FINDSTR:

FINDSTR [/ B] [/ E] [/ L] [/ R] [/ S] [/ I] [/ X] [/ V] [/ N] [/ M] [/ O] [/ P] [ / F: файл] [/ C: рядок] [/ G: файл] [/ D: спісок_папок] [/ A: кольору] [/ OFF [LINE]] рядки [[диск:] [шлях] ім`я файлу [... ]]

/ B - Шукати зразок тільки в засадах рядків.
/ E - Шукати зразок тільки в кінці рядків.
/ L - Пошук рядків дослівно.
/ R - Пошук рядків як регулярних виразів.
/ S - Пошук файлів в цій папці і всіх її підпапках.
/ I - Визначає, що пошук буде вестися без урахування регістру.
/ X - Друкує рядки, які збігаються точно.
/ V - Друкує рядки, що не містять збігів з шуканими.
/ N - Друкує номер рядка, в якій знайдено збіг, і її вміст.
/ M - Друкує тільки ім`я файлу, в якій знайдено збіг.
/ O - Друкує знайдений рядки через порожній рядок.
/ P - Пропускає рядки, що містять недруковані символи.
/ OFF [LINE] - Не пропускає файли з встановленим атрибутом "Автономний".



/ A: кольору - Дві шістнадцятиричні цифри - атрибути кольору. Див. "COLOR /?"
/ F: файл - Читає список файлів із заданого файлу (/ для консолі).
/ C: рядок - Використовує задану рядок як шукану фразу пошуку.
/ G: файл - Отримання рядків із заданого файлу (/ для консолі).
/ D: спісок_папок - Пошук в списку папок (розділяються крапкою з комою).
рядок - Шуканий текст.
[Диск:] [шлях] ім`я файлу - Задає ім`я файлу або файлів.


Для поділу декількох шуканих рядків, якщо аргумент неимеет префікса / C, використовується пропуск. наприклад,

FINDSTR "Привіт світ" file.txt пошук "Привіт" або "світ" у файлі file.txt




FINDSTR / C: "Привіт світ" file.txt пошук рядка "Привіт світ" у файлі file.txt.

Коротку довідку по використанню команди FINDSTR можна отримати при використанні ключа /?:

FINDSTR /?

Крім параметрів командного рядка, довідка доповнена короткої зведенням по синтаксису регулярних виразів:

. - Будь-який символ.
* - Повтор: нуль або більше входжень попереднього символу або класу
^ - Позиція в рядку: початок рядка
$ - Позиція в рядку: кінець рядка
[Клас] - Клас символів: будь-який одиничний символ з безлічі
[^ Клас] - Зворотний клас символів: будь-який одиничний символ з доповнення
[X-y] - Діапазон: будь-які символи з зазначеного діапазону
x - Службовий символ: символьне позначення службового символу x
Lt; xyz - Позиція в слові: на початку слова
xyz gt; - Позиція в слові: в кінці слова


За повною інформацією про регулярні вирази FINDSTR зверніться до доступнойінтерактівной документації.

приклади використання FINDSTR:

findstr / M [0-9]% temp% *. * - відобразити список файлів (ключ / M), в яких містяться цифри (набір 0-9) з каталогу тимчасових файлів (визначається% TEMP%)

findstr / P / I "Error"% temp% *. * - Відобразити рядки, що містять слово Error . Пошук рядків виконувати без урахування регістру символів (ключ / I), рядки, що містять недруковані символи, не відображати (ключ / P).

findstr / M / I / C: "network error"% windir% system32 *. exe - відобразити список виконуваних файлів з системного каталогу Windows system32, в яких зустрічається рядок "network error"

findstr / s / I / A: f4 / O / C: "failed" C: *. log - відобразити рядки файлів з розширенням log, містять слово failed. Файл та зміщення рядка щодо його початку відображати червоними символами на білому тлі (ключ / A: F4). Пошук виконується в усіх файлах .log кореневого каталогу диска C: і всіх його підкаталогів (ключ / S)

findstr / A: FC / N / s / i " lt; comput. *" *. * - відобразити рядки, що містять слово, що починається з "comput" (compute, computer, computers і т. д.), а також імена файлів і номера рядків (ключ / N).

findstr / A: FC / N / s / i " lt; правильн. *" *. * - як і в попередньому випадку, але шукається рядок, що містить слово, що починається з підрядка правильн. При використанні символів російської мови потрібно враховувати їх кодування, оскільки коди символів в DOS- і Windows - кодуванні розрізняються. У командних файлах, коли необхідно виконувати пошук рядків, що містять символи національного алфавіту, шаблон для пошуку повинен бути представлений в тій же кодуванні, що і вміст файлу. Можна використовувати перемикання кодової сторінки перед пошуком:

REM перемикається на Windows - кодування
chcp одна тисяча двісті п`ятьдесят одна
REM Виконуємо пошук
findstr / A: FC / N / s / i " lt; правильн. *" *. *
REM Перемикаємося на DOS - кодування
chcp 866
REM Виконуємо пошук
findstr / A: FC / N / s / i " lt; правильн. *" *. *


Поділися в соціальних мережах:

Схожі
Квантіфікатори в регулярних виразівКвантіфікатори в регулярних виразів
Команда color - встановити колір символів і фону консолі windowsКоманда color - встановити колір символів і фону консолі windows
Таблиця символів windows - ставимо знак, якого немає на клавіатуріТаблиця символів windows - ставимо знак, якого немає на клавіатурі
Регулярні виразиРегулярні вирази
Prompt - зміна запрошення командного рядка cmd windows.Prompt - зміна запрошення командного рядка cmd windows.
Команда find - пошук рядка символів в файліКоманда find - пошук рядка символів в файлі
Модифікатори в регулярних виразахМодифікатори в регулярних виразах
Регулярні вирази linuxРегулярні вирази linux
Команда tree - графічне представлення структури папок або шляху.Команда tree - графічне представлення структури папок або шляху.
Команда echo - висновок тексту на екран консоліКоманда echo - висновок тексту на екран консолі
» » Команда findstr