Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [findstr] не ищет так как должен,в чем дело?или что не так?

Ответить
Настройки темы
CMD/BAT - [findstr] не ищет так как должен,в чем дело?или что не так?

Старожил


Сообщения: 151
Благодарности: 4

Профиль | Отправить PM | Цитировать


Изменения
Автор: nfs911
Дата: 22-07-2013
Вложения
Тип файла: txt target.txt
(1.2 Kb, 6 просмотров)
Всем привет.
Содержание тестового батника
Код: Выделить весь код
@echo off
findstr /r /v /c:"Добавление\s.*\sв\sочередь\sна\sраспаковку" target.txt
pause
проблема в том что findstr не игнорирует а выводит всё
А вот AkelPad находит на ура

Помогите решить эту проблему
PS:после планируется использовать вот так expand.exe | findstr /r /v /c:"Добавление\s.*\sв\sочередь\sна\sраспаковку">>log.txt (если что не так поправьте) Вообще цель такая:вывести только ошибки,а успешные игнорировать
Содержание target.txt
прикрепил

Отправлено: 08:48, 22-07-2013

 

Ветеран


Сообщения: 27449
Благодарности: 8086

Профиль | Отправить PM | Цитировать


С чего Вы решили, что «findstr.exe» понимает «\s»? Вот что сказано: Findstr (остальное — здесь: Findstr - Search for strings | SS64.com ).

Цитата nfs911:
findstr не игнорирует а выводит всё »
Поясните по-русски, что Вы понимаете под «не игнорирует»? «/v» означает «Вывести строки, не удовлетворяющие заданным условиям». В Вашем случае, поскольку ни одна строка не попадает под заданный шаблон (прежде всего из-за Вашей ошибки с «\s»), потому все строки и попадают в вывод.

Если хотите пользовать более-менее полноценный RegExp — либо используйте WSH/PoSH, либо портированные на Windows утилиты Unix.
Это сообщение посчитали полезным следующие участники:

Отправлено: 09:17, 22-07-2013 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

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


Старожил


Сообщения: 151
Благодарности: 4

Профиль | Отправить PM | Цитировать


Iska, Тогда как сцепить предложение?т.к.пробелы воспринимаются как перечисление фраз.

Цитата Iska:
используйте WSH/PoSH »
я не вникал.Если вам нетрудно то реализуйте данный скрипт на WSH или PoSH и чтобы можно было подставить в bat

Отправлено: 09:25, 22-07-2013 | #3


Ветеран


Сообщения: 27449
Благодарности: 8086

Профиль | Отправить PM | Цитировать


nfs911, Вы поясните, что именно Вам нужно. Что есть — Вы выложили. Что нужно получить на выходе?

Отправлено: 10:38, 22-07-2013 | #4


Старожил


Сообщения: 151
Благодарности: 4

Профиль | Отправить PM | Цитировать


Цитата Iska:
Что нужно получить на выходе? »
Цитата nfs911:
вывести только ошибки »
а сообщения типа "файл распакован и всё ок" не выводить
это по сути

Отправлено: 10:59, 22-07-2013 | #5


Ветеран


Сообщения: 27449
Благодарности: 8086

Профиль | Отправить PM | Цитировать


Код: Выделить весь код
type target.txt | findstr.exe /r /v /c:"Добавление .* в очередь на распаковку"
Цитата:
Код: Выделить весь код
Трока строка с ошщибкой
Добавление вв иоааааа
чтото в очередь на рапаковку
оооооооо вот это уже  новость
Цитата nfs911:
а сообщения типа "файл распакован и всё ок" не выводить »
«Типа» — не подходит. Выкладывайте оригинал файла, выкладывайте точный набор фраз.
Это сообщение посчитали полезным следующие участники:

Отправлено: 11:13, 22-07-2013 | #6


Старожил


Сообщения: 151
Благодарности: 4

Профиль | Отправить PM | Цитировать


Цитата Iska:
type target.txt | findstr.exe /r /v /c:"Добавление .* в очередь на распаковку" »
Странно,я так 1000 раз пробовал и ничего,а теперь всё ок...наверно с утра туплю
Цитата Iska:
точный набор фраз. »
Я пологаю
findstr.exe /r /v /c:"Предложение1" /c:"Предложение2" /c:"Предложение3" /c:"Предложение4" /c:"Предложение5"

Цитата Iska:
«Типа» — не подходит. »
Да я тут подумал через %errorlevel%
типа if %errorlevel% == 1 >>log.txt

Отправлено: 12:19, 22-07-2013 | #7


Ветеран


Сообщения: 27449
Благодарности: 8086

Профиль | Отправить PM | Цитировать


Цитата nfs911:
Я пологаю
findstr.exe /r /v /c:"Предложение1" /c:"Предложение2" /c:"Предложение3" /c:"Предложение4" /c:"Предложение5" »
«Точный набор фраз» . Ну, суть Вы уловили, это главное.

Цитата nfs911:
Да я тут подумал через %errorlevel%
типа if %errorlevel% == 1 >>log.txt »
Ничего не понял.

Последний раз редактировалось Iska, 22-07-2013 в 15:05. Причина: Добавлена пропущенная точка в конец предложения


Отправлено: 12:30, 22-07-2013 | #8



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [findstr] не ищет так как должен,в чем дело?или что не так?

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Драйвер - Драйвера Raid или что не так? Grasce Microsoft Windows 7 1 27-11-2011 22:11
Ни разу не собирал комп. Какова вероятность, что что-то пойдёт не так? Twix1124 Выбор отдельных компонентов компьютера и конфигурации в целом 2 23-10-2011 13:21
Как активировать кодек или что я не так делаю? alemart Видео и аудио: обработка и кодирование 2 11-11-2007 11:29
Как мне сделать так что бы не было logon окна KiriLL0 Microsoft Windows 95/98/Me (архив) 3 28-09-2004 07:55
Что не так? Guest Программирование и базы данных 1 10-03-2003 21:43




 
Переход